summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-08-15 08:06:37 -0400
committerNed Batchelder <ned@nedbatchelder.com>2015-08-15 08:06:37 -0400
commitd284161ae1125d281bb1b3d46f181a399bcdbd9f (patch)
tree080ac6822bd91de4828a49c5bcbc403ffacda5cf
parent40121d5bfc8992653a530bc2dd10117d9f837d03 (diff)
downloadpython-coveragepy-git-d284161ae1125d281bb1b3d46f181a399bcdbd9f.tar.gz
Clean ups from PR 66
-rw-r--r--CHANGES.txt5
-rw-r--r--coverage/summary.py10
-rw-r--r--tests/test_summary.py18
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.")