Skip to content

Commit 2441879

Browse files
committed
Varied small test cleanups
1 parent 0291b05 commit 2441879

File tree

5 files changed

+29
-31
lines changed

5 files changed

+29
-31
lines changed

hypothesis-python/tests/cover/test_cache_implementation.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,18 @@ def on_access(self, key, value, score):
5656

5757

5858
@st.composite
59-
def write_pattern(draw, min_size=0):
60-
keys = draw(st.lists(st.integers(0, 1000), unique=True, min_size=1))
59+
def write_pattern(draw, min_distinct_keys=0):
60+
keys = draw(
61+
st.lists(st.integers(0, 1000), unique=True, min_size=max(min_distinct_keys, 1))
62+
)
6163
values = draw(st.lists(st.integers(), unique=True, min_size=1))
62-
return draw(
63-
st.lists(
64-
st.tuples(st.sampled_from(keys), st.sampled_from(values)), min_size=min_size
65-
)
64+
s = st.lists(
65+
st.tuples(st.sampled_from(keys), st.sampled_from(values)),
66+
min_size=min_distinct_keys,
6667
)
68+
if min_distinct_keys > 0:
69+
s = s.filter(lambda ls: len({k for k, _ in ls}) >= min_distinct_keys)
70+
return draw(s)
6771

6872

6973
class ValueScored(GenericCache):
@@ -111,8 +115,12 @@ def test_behaves_like_a_dict_with_losses(implementation, writes, size):
111115
assert len(target) <= min(len(model), size)
112116

113117

114-
@settings(suppress_health_check=[HealthCheck.too_slow], deadline=None)
115-
@given(write_pattern(min_size=2), st.data())
118+
@settings(
119+
suppress_health_check={HealthCheck.too_slow}
120+
| set(settings.get_profile(settings._current_profile).suppress_health_check),
121+
deadline=None,
122+
)
123+
@given(write_pattern(min_distinct_keys=2), st.data())
116124
def test_always_evicts_the_lowest_scoring_value(writes, data):
117125
scores = {}
118126

hypothesis-python/tests/cover/test_explicit_examples.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ def test(a):
224224

225225
@fails_with(DeadlineExceeded)
226226
@example(10)
227-
@settings(phases=[Phase.explicit])
227+
@settings(phases=[Phase.explicit], deadline=1)
228228
@given(integers())
229229
def test(x):
230230
time.sleep(10)

hypothesis-python/tests/cover/test_float_nastiness.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,12 +41,10 @@
4141
(-sys.float_info.max, sys.float_info.max),
4242
],
4343
)
44-
def test_floats_are_in_range(lower, upper):
45-
@given(st.floats(lower, upper))
46-
def test_is_in_range(t):
47-
assert lower <= t <= upper
48-
49-
test_is_in_range()
44+
@given(data=st.data())
45+
def test_floats_are_in_range(data, lower, upper):
46+
t = data.draw(st.floats(lower, upper))
47+
assert lower <= t <= upper
5048

5149

5250
@pytest.mark.parametrize("sign", [-1, 1])

hypothesis-python/tests/cover/test_health_checks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ def test2(x):
9191

9292
def test_filtering_everything_fails_a_health_check():
9393
@given(st.integers().filter(lambda x: False))
94-
@settings(database=None)
94+
@settings(database=None, suppress_health_check=())
9595
def test(x):
9696
pass
9797

hypothesis-python/tests/nocover/test_recursive.py

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -73,22 +73,14 @@ def breadth(x):
7373

7474

7575
def test_drawing_many_near_boundary():
76-
target = 4
77-
78-
ls = minimal(
79-
st.lists(
80-
st.recursive(
81-
st.booleans(),
82-
lambda x: st.lists(
83-
x, min_size=2 * (target - 1), max_size=2 * target
84-
).map(tuple),
85-
max_leaves=2 * target - 1,
86-
)
87-
),
88-
lambda x: len(set(x)) >= target,
89-
timeout_after=None,
76+
size = 4
77+
elems = st.recursive(
78+
st.booleans(),
79+
lambda x: st.lists(x, min_size=2 * (size - 1), max_size=2 * size).map(tuple),
80+
max_leaves=2 * size - 1,
9081
)
91-
assert len(ls) == target
82+
ls = minimal(st.lists(elems), lambda x: len(set(x)) >= size, timeout_after=None)
83+
assert len(ls) == size
9284

9385

9486
def test_can_use_recursive_data_in_sets():

0 commit comments

Comments
 (0)