#4063 closed defect (fixed)

allmydata.test.test_storage_http fails on PyPy (perhaps due to new release of Hypothesis)

Reported by: itamarst Owned by: GitHub <noreply@…>
Priority: normal Milestone: undecided
Component: unknown Version: n/a
Keywords: Cc:
Launchpad Bug:

Description

$ trial allmydata.test.test_storage_http
...
[ERROR]
Traceback (most recent call last):
Failure: testtools.testresult.real._StringException: Traceback (most recent call last):
  File "/home/itamarst/devel/tahoe-lafs/venvpypy/lib/pypy3.9/site-packages/twisted/internet/defer.py", line 234, in maybeDeferred
    result = f(*args, **kwargs)
  File "/home/itamarst/devel/tahoe-lafs/venvpypy/lib/pypy3.9/site-packages/testtools/testcase.py", line 703, in _run_test_method
    return self._get_test_method()()
  File "/home/itamarst/devel/tahoe-lafs/src/allmydata/test/eliotutil.py", line 155, in run_with_logging
    return test_method(*args, **kwargs)
  File "/home/itamarst/devel/tahoe-lafs/src/allmydata/test/test_storage_http.py", line 1677, in test_read_with_no_range
    def test_read_with_no_range(self, data_length):
  File "/home/itamarst/devel/tahoe-lafs/venvpypy/lib/pypy3.9/site-packages/hypothesis/core.py", line 1262, in wrapped_test
    fail_health_check(settings, msg, HealthCheck.differing_executors)
  File "/home/itamarst/devel/tahoe-lafs/venvpypy/lib/pypy3.9/site-packages/hypothesis/internal/healthcheck.py", line 27, in fail_health_check
    raise FailedHealthCheck(message)
hypothesis.errors.FailedHealthCheck: The method SharedImmutableMutableTestsMixin.test_read_with_no_range was called from multiple different executors. This may lead to flaky tests and nonreproducible errors when replaying from database.
See https://hypothesis.readthedocs.io/en/latest/healthchecks.html for more information about this. If you want to disable just this health check, add HealthCheck.differing_executors to the suppress_health_check settings for this test.


allmydata.test.test_storage_http.MutableSharedTests.test_read_with_no_range
-------------------------------------------------------------------------------
Ran 66 tests in 6.322s

Change History (2)

comment:1 Changed at 2023-09-05T14:10:12Z by itamarst

Per https://hypothesis.readthedocs.io/en/latest/settings.html#health-checks:

If your test function is defined as a method on a class, that class will be your executor, and subclasses executing an inherited test is a common way for things to go wrong.

And indeed this is a test defined on a mixin class.

comment:2 Changed at 2023-09-13T13:48:22Z by GitHub <noreply@…>

  • Owner set to GitHub <noreply@…>
  • Resolution set to fixed
  • Status changed from new to closed

In ef20422/trunk:

Merge pull request #1333 from tahoe-lafs/4063-pypy-test-failure

Make tests pass again

Fixes ticket:4063

Note: See TracTickets for help on using tickets.