Skip to content

Commit ac8c29a

Browse files
committed
test: make if_not_debug optimization testing a little more rational
1 parent 82ae658 commit ac8c29a

File tree

2 files changed

+19
-20
lines changed

2 files changed

+19
-20
lines changed

coverage/env.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -39,22 +39,23 @@ class PYBEHAVIOR:
3939
else:
4040
optimize_if_debug = not pep626
4141

42-
# Is "if not __debug__" optimized away?
43-
optimize_if_not_debug = (not PYPY) and (PYVERSION >= (3, 7, 0, 'alpha', 4))
42+
# Is "if not __debug__" optimized away? The exact details have changed
43+
# across versions.
44+
optimize_if_not_debug = 0
4445
if pep626:
45-
optimize_if_not_debug = False
46-
if PYPY:
47-
optimize_if_not_debug = True
48-
49-
# Is "if not __debug__" optimized away even better?
50-
optimize_if_not_debug2 = (not PYPY) and (PYVERSION >= (3, 8, 0, 'beta', 1))
51-
if pep626:
52-
optimize_if_not_debug2 = False
53-
if PYPY and (PYVERSION >= (3, 9)):
54-
optimize_if_not_debug2 = True
55-
56-
# Yet another way to optimize "if not __debug__"?
57-
optimize_if_not_debug3 = (PYPY and (3, 8) <= PYVERSION <= (3, 9))
46+
optimize_if_not_debug = 1
47+
elif PYPY:
48+
if PYVERSION >= (3, 9):
49+
optimize_if_not_debug = 2
50+
elif PYVERSION[:2] == (3, 8):
51+
optimize_if_not_debug = 3
52+
elif PYVERSION[:2] <= (3, 7):
53+
optimize_if_not_debug = 1
54+
else:
55+
if PYVERSION >= (3, 8, 0, 'beta', 1):
56+
optimize_if_not_debug = 2
57+
elif PYVERSION >= (3, 7, 0, 'alpha', 4):
58+
optimize_if_not_debug = 1
5859

5960
# Can co_lnotab have negative deltas?
6061
negative_lnotab = not (PYPY and PYPYVERSION < (7, 2))

tests/test_arcs.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1521,13 +1521,11 @@ def test_if_debug(self):
15211521

15221522
def test_if_not_debug(self):
15231523
arcz_missing = ""
1524-
if env.PYBEHAVIOR.pep626:
1525-
arcz = ".1 12 23 34 42 37 72 28 8."
1526-
elif env.PYBEHAVIOR.optimize_if_not_debug3:
1524+
if env.PYBEHAVIOR.optimize_if_not_debug == 3:
15271525
arcz = ".1 12 23 32 37 72 28 8."
1528-
elif env.PYBEHAVIOR.optimize_if_not_debug2:
1526+
elif env.PYBEHAVIOR.optimize_if_not_debug == 2:
15291527
arcz = ".1 12 23 35 52 37 72 28 8."
1530-
elif env.PYBEHAVIOR.optimize_if_not_debug:
1528+
elif env.PYBEHAVIOR.optimize_if_not_debug == 1:
15311529
arcz = ".1 12 23 34 42 37 72 28 8."
15321530
else:
15331531
arcz = ".1 12 23 34 45 42 52 37 72 28 8."

0 commit comments

Comments
 (0)