diff --git a/coverage/cmdline.py b/coverage/cmdline.py index 62edc2074..7af7913e9 100644 --- a/coverage/cmdline.py +++ b/coverage/cmdline.py @@ -93,6 +93,10 @@ class Opts(object): '--skip-covered', action='store_true', help="Skip files with 100% coverage.", ) + no_skip_covered = optparse.make_option( + '--no-skip-covered', action='store_false', dest='skip_covered', + help="Disable --skip-covered.", + ) skip_empty = optparse.make_option( '--skip-empty', action='store_true', help="Skip files with no code.", @@ -369,6 +373,7 @@ def get_prog_name(self): Opts.precision, Opts.show_contexts, Opts.skip_covered, + Opts.no_skip_covered, Opts.skip_empty, Opts.title, ] + GLOBAL_ARGS, @@ -407,6 +412,7 @@ def get_prog_name(self): Opts.precision, Opts.show_missing, Opts.skip_covered, + Opts.no_skip_covered, Opts.skip_empty, ] + GLOBAL_ARGS, usage="[options] [modules]", diff --git a/tests/test_summary.py b/tests/test_summary.py index ab6414aff..7c70d7ff8 100644 --- a/tests/test_summary.py +++ b/tests/test_summary.py @@ -300,6 +300,36 @@ def not_covered(): self.assertEqual(squeezed[6], "1 file skipped due to complete coverage.") self.assertEqual(self.last_command_status, 0) + def test_report_no_skip_covered(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") + """) + self.omit_site_packages() + out = self.run_command("coverage run main.py") + self.assertEqual(out, "z\n") + report = self.report_from_command("coverage report --skip-covered --no-skip-covered") + + # Name Stmts Miss Cover + # ------------------------------------ + # main.py 4 0 100% + # not_covered.py 2 1 50% + # ------------------------------------ + # TOTAL 6 1 83% + + self.assertEqual(self.line_count(report), 6, report) + squeezed = self.squeezed_lines(report) + self.assertEqual(squeezed[2], "main.py 4 0 100%") + self.assertEqual(squeezed[3], "not_covered.py 2 1 50%") + self.assertEqual(squeezed[5], "TOTAL 6 1 83%") + def test_report_skip_covered_branches(self): self.make_file("main.py", """ import not_covered, covered