Work around Hypothesis complaint about differing executors due to subclassing.

See https://hypothesis.readthedocs.io/en/latest/settings.html#health-checks
This commit is contained in:
Itamar Turner-Trauring 2023-09-05 10:14:10 -04:00
parent fbd383105c
commit 7d7ca29e3d
2 changed files with 18 additions and 2 deletions

0
newsfragments/4063.minor Normal file
View File

View File

@ -1673,10 +1673,12 @@ class SharedImmutableMutableTestsMixin:
# semantically valid under HTTP.
check_bad_range("bytes=0-")
@given(data_length=st.integers(min_value=1, max_value=300000))
def test_read_with_no_range(self, data_length):
def _read_with_no_range_test(self, data_length):
"""
A read with no range returns the whole mutable/immutable.
Actual test is defined in subclasses, to fix complaints from Hypothesis
about the method having different executors.
"""
storage_index, uploaded_data, _ = self.upload(1, data_length)
response = self.http.result_of_with_flush(
@ -1770,6 +1772,13 @@ class ImmutableSharedTests(SharedImmutableMutableTestsMixin, SyncTestCase):
def get_leases(self, storage_index):
return self.http.storage_server.get_leases(storage_index)
@given(data_length=st.integers(min_value=1, max_value=300000))
def test_read_with_no_range(self, data_length):
"""
A read with no range returns the whole immutable.
"""
return self._read_with_no_range_test(data_length)
class MutableSharedTests(SharedImmutableMutableTestsMixin, SyncTestCase):
"""Shared tests, running on mutables."""
@ -1809,3 +1818,10 @@ class MutableSharedTests(SharedImmutableMutableTestsMixin, SyncTestCase):
def get_leases(self, storage_index):
return self.http.storage_server.get_slot_leases(storage_index)
@given(data_length=st.integers(min_value=1, max_value=300000))
def test_read_with_no_range(self, data_length):
"""
A read with no range returns the whole mutable.
"""
return self._read_with_no_range_test(data_length)