summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorreybog90 <reybog90@o2.pl>2019-10-30 20:04:20 +0100
committerNed Batchelder <ned@nedbatchelder.com>2019-11-01 06:36:13 -0400
commit9b11268c358040abf7384702c3bc0e863ab753c5 (patch)
treee657af6f7eb583354f41c455bee639aaaf9a39fa /tests
parent49e06d33ea63d8e3e44ab5b69d713783551dfaa9 (diff)
downloadpython-coveragepy-git-9b11268c358040abf7384702c3bc0e863ab753c5.tar.gz
Optionally skip empty files in reports
Diffstat (limited to 'tests')
-rw-r--r--tests/test_api.py3
-rw-r--r--tests/test_cmdline.py9
-rw-r--r--tests/test_config.py2
-rw-r--r--tests/test_html.py14
-rw-r--r--tests/test_summary.py45
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]