diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_numbits.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/test_numbits.py b/tests/test_numbits.py index ff574d40..4a835c4f 100644 --- a/tests/test_numbits.py +++ b/tests/test_numbits.py @@ -3,9 +3,10 @@ """Tests for coverage.numbits""" -from hypothesis import given +from hypothesis import given, settings from hypothesis.strategies import sets, integers +from coverage import env from coverage.numbits import ( nums_to_numbits, numbits_to_nums, merge_numbits, numbits_any_intersection, ) @@ -15,22 +16,33 @@ from tests.coveragetest import CoverageTest # Hypothesis-generated line number data line_numbers = sets(integers(min_value=1, max_value=9999), min_size=1) +# When coverage-testing ourselves, hypothesis complains about a test being +# flaky because the first run exceeds the deadline (and fails), and the second +# run succeeds. Disable the deadline if we are coverage-testing. +default_settings = settings() +if env.METACOV: + default_settings = settings(default_settings, deadline=None) + + class NumbitsOpTest(CoverageTest): """Tests of the numbits operations in numbits.py.""" run_in_temp_dir = False @given(line_numbers) + @settings(default_settings) def test_conversion(self, nums): nums2 = numbits_to_nums(nums_to_numbits(nums)) self.assertEqual(nums, set(nums2)) @given(line_numbers, line_numbers) + @settings(default_settings) def test_merging(self, nums1, nums2): merged = numbits_to_nums(merge_numbits(nums_to_numbits(nums1), nums_to_numbits(nums2))) self.assertEqual(nums1 | nums2, set(merged)) @given(line_numbers, line_numbers) + @settings(default_settings) def test_any_intersection(self, nums1, nums2): inter = numbits_any_intersection(nums_to_numbits(nums1), nums_to_numbits(nums2)) expect = bool(nums1 & nums2) |