diff options
author | reybog90 <reybog90@o2.pl> | 2019-10-30 20:04:20 +0100 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2019-11-01 06:36:13 -0400 |
commit | 9b11268c358040abf7384702c3bc0e863ab753c5 (patch) | |
tree | e657af6f7eb583354f41c455bee639aaaf9a39fa /tests | |
parent | 49e06d33ea63d8e3e44ab5b69d713783551dfaa9 (diff) | |
download | python-coveragepy-git-9b11268c358040abf7384702c3bc0e863ab753c5.tar.gz |
Optionally skip empty files in reports
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_api.py | 3 | ||||
-rw-r--r-- | tests/test_cmdline.py | 9 | ||||
-rw-r--r-- | tests/test_config.py | 2 | ||||
-rw-r--r-- | tests/test_html.py | 14 | ||||
-rw-r--r-- | tests/test_summary.py | 45 |
5 files changed, 71 insertions, 2 deletions
diff --git a/tests/test_api.py b/tests/test_api.py index b2143548..6455d097 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -904,7 +904,8 @@ class TestRunnerPluginTest(CoverageTest): cov.combine() cov.save() report = StringIO() - cov.report(show_missing=None, ignore_errors=True, file=report, skip_covered=None) + cov.report(show_missing=None, ignore_errors=True, file=report, skip_covered=None, + skip_empty=None) self.assertEqual(report.getvalue(), textwrap.dedent("""\ Name Stmts Miss Cover ----------------------------- diff --git a/tests/test_cmdline.py b/tests/test_cmdline.py index 26624b19..666327c8 100644 --- a/tests/test_cmdline.py +++ b/tests/test_cmdline.py @@ -37,10 +37,11 @@ class BaseCmdLineTest(CoverageTest): _defaults.Coverage().html_report( directory=None, ignore_errors=None, include=None, omit=None, morfs=[], skip_covered=None, show_contexts=None, title=None, contexts=None, + skip_empty=None, ) _defaults.Coverage().report( ignore_errors=None, include=None, omit=None, morfs=[], - show_missing=None, skip_covered=None, contexts=None, + show_missing=None, skip_covered=None, contexts=None, skip_empty=None, ) _defaults.Coverage().xml_report( ignore_errors=None, include=None, omit=None, morfs=[], outfile=None, @@ -261,6 +262,7 @@ class CmdLineTest(BaseCmdLineTest): out = self.stdout() self.assertIn("cover_pylib:", out) self.assertIn("skip_covered:", out) + self.assertIn("skip_empty:", out) def test_erase(self): # coverage erase @@ -370,6 +372,11 @@ class CmdLineTest(BaseCmdLineTest): cov.load() cov.report(skip_covered=True) """) + self.cmd_executes("report --skip-empty", """\ + cov = Coverage() + cov.load() + cov.report(skip_empty=True) + """) self.cmd_executes("report --contexts=foo,bar", """\ cov = Coverage() cov.load() diff --git a/tests/test_config.py b/tests/test_config.py index ebea18a7..fcbac816 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -311,6 +311,7 @@ class ConfigFileTest(UsingModulesMixin, CoverageTest): show_missing= TruE skip_covered = TruE + skip_empty =TruE [{section}html] @@ -386,6 +387,7 @@ class ConfigFileTest(UsingModulesMixin, CoverageTest): self.assertEqual(cov.config.plugins, ["plugins.a_plugin", "plugins.another"]) self.assertTrue(cov.config.show_missing) self.assertTrue(cov.config.skip_covered) + self.assertTrue(cov.config.skip_empty) self.assertEqual(cov.config.html_dir, r"c:\tricky\dir.somewhere") self.assertEqual(cov.config.extra_css, "something/extra.css") self.assertEqual(cov.config.html_title, "Title & nums # nums!") diff --git a/tests/test_html.py b/tests/test_html.py index 77e068d0..74cc15d9 100644 --- a/tests/test_html.py +++ b/tests/test_html.py @@ -533,6 +533,20 @@ class HtmlTest(HtmlTestHelpers, CoverageTest): self.assert_doesnt_exist("htmlcov/main_file_py.html") self.assert_exists("htmlcov/not_covered_py.html") + def test_report_skip_empty_files(self): + self.make_file("submodule/__init__.py", "") + self.make_file("main_file.py", """ + import submodule + + def normal(): + print("z") + normal() + """) + self.run_coverage(htmlargs=dict(skip_empty=True)) + self.assert_exists("htmlcov/index.html") + self.assert_exists("htmlcov/main_file_py.html") + self.assert_doesnt_exist("htmlcov/submodule___init___py.html") + class HtmlStaticFileTest(CoverageTest): """Tests of the static file copying for the HTML report.""" diff --git a/tests/test_summary.py b/tests/test_summary.py index b25c7764..01b6f9d0 100644 --- a/tests/test_summary.py +++ b/tests/test_summary.py @@ -431,6 +431,51 @@ class SummaryTest(UsingModulesMixin, CoverageTest): squeezed = self.squeezed_lines(report) self.assertEqual(squeezed[0], "No data to report.") + def test_report_skip_empty(self): + self.make_file("main.py", """ + import submodule + + def normal(): + print("z") + normal() + """) + self.make_file("submodule/__init__.py", "") + 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-empty") + + # Name Stmts Miss Cover + # ------------------------------------ + # main.py 4 0 100% + # ------------------------------------ + # TOTAL 4 0 100% + # + # 1 empty file skipped. + + self.assertEqual(self.line_count(report), 7, report) + squeezed = self.squeezed_lines(report) + self.assertEqual(squeezed[2], "main.py 4 0 100%") + self.assertEqual(squeezed[4], "TOTAL 4 0 100%") + self.assertEqual(squeezed[6], "1 empty file skipped.") + self.assertEqual(self.last_command_status, 0) + + def test_report_skip_empty_no_data(self): + self.make_file("__init__.py", "") + self.omit_site_packages() + out = self.run_command("coverage run __init__.py") + self.assertEqual(out, "") + report = self.report_from_command("coverage report --skip-empty") + + # Name Stmts Miss Cover + # ------------------------------------ + # + # 1 empty file skipped. + + self.assertEqual(self.line_count(report), 4, report) + lines = self.report_lines(report) + self.assertEqual(lines[3], "1 empty file skipped.") + def test_report_precision(self): self.make_file(".coveragerc", """\ [report] |