summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2018-01-21 08:45:04 -0500
committerNed Batchelder <ned@nedbatchelder.com>2018-01-21 08:45:04 -0500
commit60807c8e06b6811f4829b7a871cc6bddbbc004c9 (patch)
tree44f8c4b2414e8d2f7077d02fdf011fe95bb4c23b
parentba0b17991c9fc228faf649725717755d802c4eaf (diff)
downloadpython-coveragepy-60807c8e06b6811f4829b7a871cc6bddbbc004c9.tar.gz
Add a test that report uses the precision.
-rw-r--r--tests/test_summary.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/test_summary.py b/tests/test_summary.py
index 3691336..44defa5 100644
--- a/tests/test_summary.py
+++ b/tests/test_summary.py
@@ -420,6 +420,49 @@ class SummaryTest(UsingModulesMixin, CoverageTest):
squeezed = self.squeezed_lines(report)
self.assertEqual(squeezed[2], "No data to report.")
+ def test_report_precision(self):
+ self.make_file(".coveragerc", """\
+ [report]
+ precision = 3
+ """)
+ self.make_file("main.py", """
+ import not_covered, covered
+
+ def normal(z):
+ if z:
+ print("z")
+ normal(True)
+ normal(False)
+ """)
+ self.make_file("not_covered.py", """
+ def not_covered(n):
+ if n:
+ print("n")
+ not_covered(True)
+ """)
+ self.make_file("covered.py", """
+ def foo():
+ pass
+ foo()
+ """)
+ out = self.run_command("coverage run --branch main.py")
+ self.assertEqual(out, "n\nz\n")
+ report = self.report_from_command("coverage report")
+
+ # Name Stmts Miss Branch BrPart Cover
+ # ------------------------------------------------------
+ # covered.py 3 0 0 0 100.000%
+ # main.py 6 0 2 0 100.000%
+ # not_covered.py 4 0 2 1 83.333%
+ # ------------------------------------------------------
+ # TOTAL 13 0 4 1 94.118%
+
+ self.assertEqual(self.line_count(report), 7, report)
+ squeezed = self.squeezed_lines(report)
+ self.assertEqual(squeezed[2], "covered.py 3 0 0 0 100.000%")
+ self.assertEqual(squeezed[4], "not_covered.py 4 0 2 1 83.333%")
+ self.assertEqual(squeezed[6], "TOTAL 13 0 4 1 94.118%")
+
def test_dotpy_not_python(self):
# We run a .py file, and when reporting, we can't parse it as Python.
# We should get an error message in the report.