diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_cmdline.py | 7 | ||||
-rw-r--r-- | tests/test_config.py | 2 | ||||
-rw-r--r-- | tests/test_summary.py | 60 |
3 files changed, 68 insertions, 1 deletions
diff --git a/tests/test_cmdline.py b/tests/test_cmdline.py index 695c3bec..80a82d93 100644 --- a/tests/test_cmdline.py +++ b/tests/test_cmdline.py @@ -31,7 +31,7 @@ class BaseCmdLineTest(CoverageTest): ) defaults.report( ignore_errors=None, include=None, omit=None, morfs=[], - show_missing=None, + show_missing=None, skip_covered=None ) defaults.xml_report( ignore_errors=None, include=None, omit=None, morfs=[], outfile=None, @@ -347,6 +347,11 @@ class CmdLineTest(BaseCmdLineTest): .load() .report(morfs=["mod1", "mod2", "mod3"]) """) + self.cmd_executes("report -s", """\ + .coverage() + .load() + .report(skip_covered=True) + """) def test_run(self): # coverage run [-p] [-L] [--timid] MODULE.py [ARG1 ARG2 ...] diff --git a/tests/test_config.py b/tests/test_config.py index 15a0c569..26a22222 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -209,6 +209,7 @@ class ConfigFileTest(CoverageTest): while True: show_missing= TruE + skip_covered = TruE [{section}html] @@ -272,6 +273,7 @@ class ConfigFileTest(CoverageTest): ["plugins.a_plugin", "plugins.another"] ) self.assertTrue(cov.config.show_missing) + self.assertTrue(cov.config.skip_covered) self.assertEqual(cov.config.html_dir, r"c:\tricky\dir.somewhere") self.assertEqual(cov.config.extra_css, "something/extra.css") self.assertEqual(cov.config.html_title, "Title & nums # nums!") diff --git a/tests/test_summary.py b/tests/test_summary.py index ce668f76..b52c9122 100644 --- a/tests/test_summary.py +++ b/tests/test_summary.py @@ -224,6 +224,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. |