diff options
-rw-r--r-- | coverage/env.py | 5 | ||||
-rw-r--r-- | tests/test_arcs.py | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/coverage/env.py b/coverage/env.py index 83b4be65..03f76399 100644 --- a/coverage/env.py +++ b/coverage/env.py @@ -31,9 +31,12 @@ class PYBEHAVIOR(object): # Is "if __debug__" optimized away? optimize_if_debug = (not PYPY) - # If "if not __debug__" optimized away? + # Is "if not __debug__" optimized away? optimize_if_not_debug = (not PYPY) and (PYVERSION >= (3, 7, 0, 'alpha', 4)) + # Is "if not __debug__" optimized away even better? + optimize_if_not_debug2 = (not PYPY) and (PYVERSION >= (3, 8, 0, 'beta', 1)) + # Do we have yield-from? yield_from = (PYVERSION >= (3, 3)) diff --git a/tests/test_arcs.py b/tests/test_arcs.py index cbbac64a..638478ab 100644 --- a/tests/test_arcs.py +++ b/tests/test_arcs.py @@ -1178,6 +1178,9 @@ class OptimizedIfTest(CoverageTest): # Before 3.7, no Python optimized away "if not __debug__:" if not env.PYBEHAVIOR.optimize_if_debug: self.skipTest("PyPy doesn't optimize away 'if __debug__:'") + elif env.PYBEHAVIOR.optimize_if_not_debug2: + arcz = ".1 12 24 41 26 61 1." + arcz_missing = "" elif env.PYBEHAVIOR.optimize_if_not_debug: arcz = ".1 12 23 31 26 61 1." arcz_missing = "" |