Source: python-fakeredis
Version: 2.29.0-2
Severity: serious
User: debian...@lists.debian.org
Usertags: regression

Dear maintainer(s),

With a recent upload of python-fakeredis the autopkgtest of python-fakeredis fails in testing when that autopkgtest is run with the binary packages of python-fakeredis from unstable. I suspect at least a missing *versioned* (test) dependency as in unstable the test passes on some architectures (but not all). It passes when run with only packages from testing (except on ppc64el, but that's not new). In tabular form:

                       pass            fail
python-fakeredis       from testing    2.29.0-2
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration to testing [1]. Can you please investigate the situation and fix it?

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=python-fakeredis

https://ci.debian.net/data/autopkgtest/testing/amd64/p/python-fakeredis/60842320/log.gz

267s ________________________________ TestHash.test _________________________________ 267s 267s self = <test.test_hypothesis.test_hash.TestHash object at 0x7fb881421450>
267s 267s     @pytest.mark.slow
267s     def test(self):
267s         class Machine(CommonMachine):
267s             create_command_strategy = self.create_command_strategy
267s             command_strategy = self.command_strategy
267s             if server_type == "redis":
267s command_strategy = command_strategy | self.command_strategy_redis_only
267s             if server_type == "redis" and redis_ver >= (7,):
267s command_strategy = command_strategy | self.command_strategy_redis7 267s 267s # hypothesis.settings.register_profile("debug", max_examples=10, verbosity=hypothesis.Verbosity.debug)
267s         # hypothesis.settings.load_profile("debug")
267s >       hypothesis.stateful.run_state_machine_as_test(Machine)
267s 267s test/test_hypothesis/base.py:344: 267s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 267s /usr/lib/python3/dist-packages/hypothesis/stateful.py:261: in run_state_machine_as_test
267s     state_machine_test(state_machine_factory)
267s /usr/lib/python3/dist-packages/hypothesis/stateful.py:115: in run_state_machine
267s     @given(st.data())
267s test/test_hypothesis/base.py:321: in one_command
267s     self._compare(command)
267s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 267s 267s self = Machine({})
267s command = Command('hexpire', b'A', 5, 'fields', 2, b'A', b'AA')
267s 267s     def _compare(self, command):
267s         fake_result, fake_exc = self._evaluate(self.fake, command)
267s         real_result, real_exc = self._evaluate(self.real, command)
267s     267s         if fake_exc is not None and real_exc is None:
267s print(f"{fake_exc} raised on only on fake when running {command}", file=sys.stderr)
267s             raise fake_exc
267s         elif real_exc is not None and fake_exc is None:
267s > assert real_exc == fake_exc, f"Expected exception `{real_exc}` not raised when running {command}" 267s E AssertionError: Expected exception `unknown command 'hexpire', with args beginning with: 'A' '5' 'fields' '2' 'A' 'AA' ` not raised when running Command('hexpire', b'A', 5, 'fields', 2, b'A', b'AA')
267s E           Falsifying example:
267s E           state = Machine()
267s E           state.init_attrs(attrs={'keys': [b'A', b'B'],
267s E            'fields': [b'A', b'AA'],
267s E            'values': [b'A', b'B'],
267s E            'scores': [0.0, 1.0]})
267s E           state.init_data(commands=[])
267s E state.one_command(command=functools.partial(test.test_hypothesis.base.Command)(
267s E               'hexpire',
267s E               b'A',
267s E               5,
267s E               None,
267s E               None,
267s E               None,
267s E               None,
267s E               'fields',
267s E               2,
267s E               [b'A', b'AA'],
267s E           ))
267s E           state.teardown()
267s E           Explanation:
267s E These lines were always and only run by failing examples: 267s E /tmp/autopkgtest-lxc.ljtr03mi/downtmp/build.En9/src/fakeredis/_basefakesocket.py:281 267s E /tmp/autopkgtest-lxc.ljtr03mi/downtmp/build.En9/src/fakeredis/_command_args_parsing.py:121 267s E /tmp/autopkgtest-lxc.ljtr03mi/downtmp/build.En9/src/fakeredis/_command_args_parsing.py:129 267s E /tmp/autopkgtest-lxc.ljtr03mi/downtmp/build.En9/src/fakeredis/_commands.py:369 267s E /tmp/autopkgtest-lxc.ljtr03mi/downtmp/build.En9/src/fakeredis/_commands.py:388
267s E                   (and 11 more with settings.verbosity >= verbose)
267s 267s test/test_hypothesis/base.py:262: AssertionError

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to