summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2019-08-01 10:56:21 -0400
committerNed Batchelder <ned@nedbatchelder.com>2019-08-01 10:56:21 -0400
commit2d7ad503f60f982d6431870663238a76e5a28b56 (patch)
treea386f25ba13d06c1bc9ba9cc244ab354bb133dc1
parent666d5ca196f59bcdc85fc8ab4193200e8c61fb4a (diff)
downloadpython-coveragepy-git-2d7ad503f60f982d6431870663238a76e5a28b56.tar.gz
Fix a bug in num_in_numbits.
-rw-r--r--coverage/numbits.py2
-rw-r--r--tests/test_numbits.py3
2 files changed, 3 insertions, 2 deletions
diff --git a/coverage/numbits.py b/coverage/numbits.py
index c044073c..abe40f41 100644
--- a/coverage/numbits.py
+++ b/coverage/numbits.py
@@ -51,6 +51,6 @@ def numbits_any_intersection(numbits1, numbits2):
def num_in_numbits(num, numbits):
"""Does the integer `num` appear in `numbits`?"""
nbyte, nbit = divmod(num, 8)
- if nbyte > len(numbits):
+ if nbyte >= len(numbits):
return False
return bool(byte_to_int(numbits[nbyte]) & (1 << nbit))
diff --git a/tests/test_numbits.py b/tests/test_numbits.py
index 27b79d02..a556869b 100644
--- a/tests/test_numbits.py
+++ b/tests/test_numbits.py
@@ -3,7 +3,7 @@
"""Tests for coverage.numbits"""
-from hypothesis import given, settings
+from hypothesis import example, given, settings
from hypothesis.strategies import sets, integers
from coverage import env
@@ -52,6 +52,7 @@ class NumbitsOpTest(CoverageTest):
@given(line_numbers, line_number_sets)
@settings(default_settings)
+ @example(152, {144})
def test_num_in_numbits(self, num, nums):
numbits = nums_to_numbits(nums)
is_in = num_in_numbits(num, numbits)