diff options
-rw-r--r-- | coverage/html.py | 3 | ||||
-rw-r--r-- | coverage/summary.py | 3 | ||||
-rw-r--r-- | tests/test_process.py | 32 |
3 files changed, 29 insertions, 9 deletions
diff --git a/coverage/html.py b/coverage/html.py index 9148f422..da23935d 100644 --- a/coverage/html.py +++ b/coverage/html.py @@ -126,8 +126,7 @@ class HtmlReporter(Reporter): self.index_file() self.make_local_static_report_files() - - return self.totals.pc_covered + return self.totals.n_statements and self.totals.pc_covered def make_local_static_report_files(self): """Make local instances of static files for HTML report.""" diff --git a/coverage/summary.py b/coverage/summary.py index aed83350..20123ea1 100644 --- a/coverage/summary.py +++ b/coverage/summary.py @@ -98,5 +98,6 @@ class SummaryReporter(Reporter): if self.config.show_missing: args += ("",) outfile.write(fmt_coverage % args) - + if not total.n_files: + raise CoverageException("No data to report.") return total.n_statements and total.pc_covered diff --git a/tests/test_process.py b/tests/test_process.py index 922ea8c1..4c3c363f 100644 --- a/tests/test_process.py +++ b/tests/test_process.py @@ -703,17 +703,15 @@ class FailUnderTest(CoverageTest): st, _ = self.run_command_status("coverage report") self.assertEqual(st, 2) -class FailUnderNoDataTest(CoverageTest): - def setUp(self): - super(FailUnderNoDataTest, self).setUp() +class FailUnderNoFilesTest(CoverageTest): + def setUp(self): + super(FailUnderNoFilesTest, self).setUp() self.make_file(".coveragerc", "[report]\nfail_under = 99\n") - if os.path.exists('.coverage'): - os.remove('.coverage') def test_report(self): st, _ = self.run_command_status("coverage report") - self.assertEqual(st, 2) + self.assertEqual(st, 1) def test_xml(self): st, _ = self.run_command_status("coverage xml") @@ -724,6 +722,28 @@ class FailUnderNoDataTest(CoverageTest): self.assertEqual(st, 1) +class FailUnderEmptyFilesTest(CoverageTest): + def setUp(self): + super(FailUnderEmptyFilesTest, self).setUp() + + self.make_file(".coveragerc", "[report]\nfail_under = 99\n") + self.make_file("empty.py", "") + st, _ = self.run_command_status("coverage run empty.py") + self.assertEqual(st, 0) + + def test_report(self): + st, _ = self.run_command_status("coverage report") + self.assertEqual(st, 2) + + def test_xml(self): + st, _ = self.run_command_status("coverage xml") + self.assertEqual(st, 2) + + def test_html(self): + st, _ = self.run_command_status("coverage html") + self.assertEqual(st, 2) + + def possible_pth_dirs(): """Produce a sequence of directories for trying to write .pth files.""" # First look through sys.path, and we find a .pth file, then it's a good |