summaryrefslogtreecommitdiff
path: root/tests/test_summary.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_summary.py')
-rw-r--r--tests/test_summary.py60
1 files changed, 60 insertions, 0 deletions
diff --git a/tests/test_summary.py b/tests/test_summary.py
index 9973b3d5..cf255e51 100644
--- a/tests/test_summary.py
+++ b/tests/test_summary.py
@@ -223,6 +223,66 @@ class SummaryTest(CoverageTest):
"TOTAL 11 2 8 3 63%"
)
+ def test_report_skip_covered_no_branches(self):
+ self.make_file("main.py", """
+ import not_covered
+
+ def normal():
+ print("z")
+ normal()
+ """)
+ self.make_file("not_covered.py", """
+ def not_covered():
+ print("n")
+ """)
+ out = self.run_command("coverage run main.py")
+ self.assertEqual(out, "z\n")
+ report = self.report_from_command("coverage report --skip-covered")
+
+ # pylint: disable=C0301
+ # Name Stmts Miss Cover
+ # ---------------------------------
+ # not_covered 2 1 50%
+
+ self.assertEqual(self.line_count(report), 3, report)
+ squeezed = self.squeezed_lines(report)
+ self.assertEqual(
+ squeezed[2],
+ "not_covered 2 1 50%"
+ )
+
+ def test_report_skip_covered_branches(self):
+ self.make_file("main.py", """
+ import not_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)
+ """)
+ out = self.run_command("coverage run --branch main.py")
+ self.assertEqual(out, "n\nz\n")
+ report = self.report_from_command("coverage report --skip-covered")
+
+ # pylint: disable=C0301
+ # Name Stmts Miss Branch BrPart Cover
+ # -----------------------------------------------
+ # not_covered 4 0 2 1 83%
+
+ self.assertEqual(self.line_count(report), 3, report)
+ squeezed = self.squeezed_lines(report)
+ self.assertEqual(
+ squeezed[2],
+ "not_covered 4 0 2 1 83%"
+ )
+
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.