summaryrefslogtreecommitdiff
path: root/tests/test_parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_parser.py')
-rw-r--r--tests/test_parser.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/tests/test_parser.py b/tests/test_parser.py
index 89ef6dc4..c2d70ee5 100644
--- a/tests/test_parser.py
+++ b/tests/test_parser.py
@@ -1,5 +1,5 @@
# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
-# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
+# For details: https://github.com/nedbat/coveragepy/blob/master/NOTICE.txt
"""Tests for coverage.py's code parsing."""
@@ -165,11 +165,7 @@ class PythonParserTest(CoverageTest):
def func(x=25):
return 26
""")
- if env.PYVERSION < (3, 7):
- raw_statements = set([3, 4, 5, 6, 8, 9, 10, 13, 15, 16, 17, 20, 22, 23, 25, 26])
- else:
- # Python 3.7 no longer includes class docstrings in the lnotab table.
- raw_statements = set([3, 4, 5, 6, 8, 10, 13, 15, 16, 17, 20, 22, 23, 25, 26])
+ raw_statements = set([3, 4, 5, 6, 8, 9, 10, 13, 15, 16, 17, 20, 22, 23, 25, 26])
self.assertEqual(parser.raw_statements, raw_statements)
self.assertEqual(parser.statements, set([8]))
@@ -201,8 +197,14 @@ class PythonParserTest(CoverageTest):
pass
""")
self.assertEqual(parser.statements, set([1, 2, 4, 8, 10]))
- self.assertEqual(parser.arcs(), set(self.arcz_to_arcs(".1 14 48 8. .2 2. -8A A-8")))
- self.assertEqual(parser.exit_counts(), {1: 1, 2: 1, 4: 1, 8: 1, 10: 1})
+ expected_arcs = set(self.arcz_to_arcs(".1 14 48 8. .2 2. -8A A-8"))
+ expected_exits = {1: 1, 2: 1, 4: 1, 8: 1, 10: 1}
+ if env.PYVERSION >= (3, 7, 0, 'beta', 5):
+ # 3.7 changed how functions with only docstrings are numbered.
+ expected_arcs.update(set(self.arcz_to_arcs("-46 6-4")))
+ expected_exits.update({6: 1})
+ self.assertEqual(parser.arcs(), expected_arcs)
+ self.assertEqual(parser.exit_counts(), expected_exits)
class ParserMissingArcDescriptionTest(CoverageTest):