diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2015-08-15 08:06:37 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2015-08-15 08:06:37 -0400 |
commit | d284161ae1125d281bb1b3d46f181a399bcdbd9f (patch) | |
tree | 080ac6822bd91de4828a49c5bcbc403ffacda5cf | |
parent | 40121d5bfc8992653a530bc2dd10117d9f837d03 (diff) | |
download | python-coveragepy-git-d284161ae1125d281bb1b3d46f181a399bcdbd9f.tar.gz |
Clean ups from PR 66
-rw-r--r-- | CHANGES.txt | 5 | ||||
-rw-r--r-- | coverage/summary.py | 10 | ||||
-rw-r--r-- | tests/test_summary.py | 18 |
3 files changed, 20 insertions, 13 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index 818991d3..8336e5bf 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -12,6 +12,11 @@ Latest - 4.0b1 broke --append creating new data files. This is now fixed, closing `issue 392`_. +- When using ``report --skip-covered``, a message will now be included in the + report output indicating how many files were skipped, and if all files are + skipped, coverage.py won't accidentally scold you for having no data to + report. Thanks, Krystian Kichewko. + - A new conversion utility has been added: ``python -m coverage.pickle2json`` will convert v3.x pickle data files to v4.x JSON data files. Thanks, Alexander Todorov. Closes `issue 395`_. diff --git a/coverage/summary.py b/coverage/summary.py index a90803d6..25bb365e 100644 --- a/coverage/summary.py +++ b/coverage/summary.py @@ -29,8 +29,7 @@ class SummaryReporter(Reporter): max_name = max([len(fr.relative_filename()) for fr in self.file_reporters] + [5]) fmt_name = "%%- %ds " % max_name fmt_err = "%s %s: %s\n" - fmt_skip_covered = ("\n%s file%s skipped because of 'skip covered' " - "option.\n") + fmt_skip_covered = "\n%s file%s skipped due to complete coverage.\n" header = (fmt_name % "Name") + " Stmts Miss" fmt_coverage = fmt_name + "%6d %6d" @@ -105,10 +104,11 @@ class SummaryReporter(Reporter): if self.config.show_missing: args += ("",) outfile.write(fmt_coverage % args) + 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( - fmt_skip_covered % (skipped_count, - 's' if skipped_count > 1 else '')) + outfile.write(fmt_skip_covered % (skipped_count, 's' if skipped_count > 1 else '')) + return total.n_statements and total.pc_covered diff --git a/tests/test_summary.py b/tests/test_summary.py index 90869948..a54d5337 100644 --- a/tests/test_summary.py +++ b/tests/test_summary.py @@ -259,7 +259,7 @@ class SummaryTest(CoverageTest): # ------------------------------------ # not_covered.py 2 1 50% # - # 1 file skipped because of 'skip covered' option. + # 1 file skipped due to complete coverage. self.assertEqual(self.line_count(report), 5, report) squeezed = self.squeezed_lines(report) @@ -294,7 +294,7 @@ class SummaryTest(CoverageTest): # -------------------------------------------------- # not_covered.py 4 0 2 1 83% # - # 2 files skipped because of 'skip covered' option. + # 2 files skipped due to complete coverage. self.assertEqual(self.line_count(report), 5, report) squeezed = self.squeezed_lines(report) @@ -332,15 +332,14 @@ class SummaryTest(CoverageTest): # -------------------------------------------------- # TOTAL 6 1 2 1 75% # - # 1 file skipped because of 'skip covered' option. + # 1 file skipped due to complete coverage. self.assertEqual(self.line_count(report), 8, report) squeezed = self.squeezed_lines(report) self.assertEqual(squeezed[2], "also_not_run.py 2 1 0 0 50%") self.assertEqual(squeezed[3], "not_covered.py 4 0 2 1 83%") self.assertEqual(squeezed[5], "TOTAL 6 1 2 1 75%") - self.assertEqual(squeezed[7], - "1 file skipped because of 'skip covered' option.") + self.assertEqual(squeezed[7], "1 file skipped due to complete coverage.") def test_report_skip_covered_all_files_covered(self): self.make_file("main.py", """ @@ -351,20 +350,23 @@ class SummaryTest(CoverageTest): 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. + # 1 file skipped due to complete coverage. + 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.") + self.assertEqual(squeezed[3], "1 file skipped due to complete coverage.") 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) self.assertEqual(squeezed[2], "No data to report.") |