summaryrefslogtreecommitdiff
path: root/tests/coveragetest.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2019-07-09 14:23:38 -0400
committerNed Batchelder <ned@nedbatchelder.com>2019-07-09 14:23:38 -0400
commitfb2c6262c4964eba2d90a1ddd999fe5bc49827b4 (patch)
tree570cd77b933bcbb83d4fe20fd87ba660519d3bbe /tests/coveragetest.py
parente16eb5245857db6574a0c0fdcf76879708a316c4 (diff)
downloadpython-coveragepy-git-nedbat/close-data.tar.gz
Make Analysis a context manager to properly close sqlite filesnedbat/close-data
Diffstat (limited to 'tests/coveragetest.py')
-rw-r--r--tests/coveragetest.py78
1 files changed, 39 insertions, 39 deletions
diff --git a/tests/coveragetest.py b/tests/coveragetest.py
index b06db896..c79cab4d 100644
--- a/tests/coveragetest.py
+++ b/tests/coveragetest.py
@@ -196,48 +196,48 @@ class CoverageTest(
del sys.modules[modname]
# Get the analysis results, and check that they are right.
- analysis = cov._analyze(mod)
- statements = sorted(analysis.statements)
- if lines is not None:
- if isinstance(lines[0], int):
- # lines is just a list of numbers, it must match the statements
- # found in the code.
- self.assertEqual(statements, lines)
- else:
- # lines is a list of possible line number lists, one of them
- # must match.
- for line_list in lines:
- if statements == line_list:
- break
+ with cov._analyze(mod) as analysis:
+ statements = sorted(analysis.statements)
+ if lines is not None:
+ if isinstance(lines[0], int):
+ # lines is just a list of numbers, it must match the statements
+ # found in the code.
+ self.assertEqual(statements, lines)
else:
- self.fail("None of the lines choices matched %r" % statements)
+ # lines is a list of possible line number lists, one of them
+ # must match.
+ for line_list in lines:
+ if statements == line_list:
+ break
+ else:
+ self.fail("None of the lines choices matched %r" % statements)
- missing_formatted = analysis.missing_formatted()
- if isinstance(missing, string_class):
- self.assertEqual(missing_formatted, missing)
- else:
- for missing_list in missing:
- if missing_formatted == missing_list:
- break
+ missing_formatted = analysis.missing_formatted()
+ if isinstance(missing, string_class):
+ self.assertEqual(missing_formatted, missing)
else:
- self.fail("None of the missing choices matched %r" % missing_formatted)
-
- if arcs is not None:
- with self.delayed_assertions():
- self.assert_equal_arcs(
- arcs, analysis.arc_possibilities(),
- "Possible arcs differ: minus is expected, plus is actual"
- )
-
- self.assert_equal_arcs(
- arcs_missing, analysis.arcs_missing(),
- "Missing arcs differ: minus is expected, plus is actual"
- )
-
- self.assert_equal_arcs(
- arcs_unpredicted, analysis.arcs_unpredicted(),
- "Unpredicted arcs differ: minus is expected, plus is actual"
- )
+ for missing_list in missing:
+ if missing_formatted == missing_list:
+ break
+ else:
+ self.fail("None of the missing choices matched %r" % missing_formatted)
+
+ if arcs is not None:
+ with self.delayed_assertions():
+ self.assert_equal_arcs(
+ arcs, analysis.arc_possibilities(),
+ "Possible arcs differ: minus is expected, plus is actual"
+ )
+
+ self.assert_equal_arcs(
+ arcs_missing, analysis.arcs_missing(),
+ "Missing arcs differ: minus is expected, plus is actual"
+ )
+
+ self.assert_equal_arcs(
+ arcs_unpredicted, analysis.arcs_unpredicted(),
+ "Unpredicted arcs differ: minus is expected, plus is actual"
+ )
if report:
frep = StringIO()