diff options
-rw-r--r-- | coverage/summary.py | 2 | ||||
-rw-r--r-- | tests/test_summary.py | 19 |
2 files changed, 18 insertions, 3 deletions
diff --git a/coverage/summary.py b/coverage/summary.py index 99e73974..a90803d6 100644 --- a/coverage/summary.py +++ b/coverage/summary.py @@ -105,7 +105,7 @@ class SummaryReporter(Reporter): if self.config.show_missing: args += ("",) outfile.write(fmt_coverage % args) - if not total.n_files: + if not total.n_files and not skipped_count: raise CoverageException("No data to report.") if self.config.skip_covered and skipped_count: outfile.write( diff --git a/tests/test_summary.py b/tests/test_summary.py index b765f313..c85f4d25 100644 --- a/tests/test_summary.py +++ b/tests/test_summary.py @@ -342,13 +342,28 @@ class SummaryTest(CoverageTest): self.assertEqual(squeezed[7], "1 file skipped because of 'skip covered' option.") - def test_report_skip_covered_no_data(self): - self.make_file("main.py", "") + def test_report_skip_covered_all_files_covered(self): + self.make_file("main.py", """ + def foo(): + pass + foo() + """) out = self.run_command("coverage run --branch main.py") self.assertEqual(out, "") report = self.report_from_command("coverage report --skip-covered") # Name Stmts Miss Branch BrPart Cover # ------------------------------------------- + # + # 1 file skipped because of 'skip covered' option. + self.assertEqual(self.line_count(report), 4, report) + squeezed = self.squeezed_lines(report) + self.assertEqual(squeezed[3], + "1 file skipped because of 'skip covered' option.") + + def test_report_skip_covered_no_data(self): + report = self.report_from_command("coverage report --skip-covered") + # Name Stmts Miss Branch BrPart Cover + # ------------------------------------------- # No data to report. self.assertEqual(self.line_count(report), 3, report) squeezed = self.squeezed_lines(report) |