summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2021-10-26 19:07:03 -0400
committerNed Batchelder <ned@nedbatchelder.com>2021-10-26 19:17:19 -0400
commit93c9ca9f1b2e5d0b45dbf4b82c77aaf05b458bac (patch)
tree6b0e1cc009da5e33ca87e8fb096704b27afe1a8f /tests
parent18cf3b897d4b1e1a66beda180ec151cc0dd4dbc3 (diff)
downloadpython-coveragepy-git-93c9ca9f1b2e5d0b45dbf4b82c77aaf05b458bac.tar.gz
feat: xml and json say what they are doing, and -q quiets everything. #1254nedbat/dashq
Diffstat (limited to 'tests')
-rw-r--r--tests/test_cmdline.py41
-rw-r--r--tests/test_concurrency.py9
-rw-r--r--tests/test_plugins.py5
-rw-r--r--tests/test_process.py4
-rw-r--r--tests/test_report.py16
5 files changed, 59 insertions, 16 deletions
diff --git a/tests/test_cmdline.py b/tests/test_cmdline.py
index b0716e6d..9e987760 100644
--- a/tests/test_cmdline.py
+++ b/tests/test_cmdline.py
@@ -234,6 +234,17 @@ class CmdLineTest(BaseCmdLineTest):
cov.combine(None, strict=True, keep=False)
cov.save()
""")
+ # coverage combine quietly
+ self.cmd_executes("combine -q", """\
+ cov = Coverage(messages=False)
+ cov.combine(None, strict=True, keep=False)
+ cov.save()
+ """)
+ self.cmd_executes("combine --quiet", """\
+ cov = Coverage(messages=False)
+ cov.combine(None, strict=True, keep=False)
+ cov.save()
+ """)
def test_combine_doesnt_confuse_options_with_args(self):
# https://github.com/nedbat/coveragepy/issues/385
@@ -335,6 +346,16 @@ class CmdLineTest(BaseCmdLineTest):
cov.load()
cov.html_report(title='Hello_there')
""")
+ self.cmd_executes("html -q", """\
+ cov = Coverage(messages=False)
+ cov.load()
+ cov.html_report()
+ """)
+ self.cmd_executes("html --quiet", """\
+ cov = Coverage(messages=False)
+ cov.load()
+ cov.html_report()
+ """)
def test_json(self):
# coverage json [-i] [--omit DIR,...] [FILE1 FILE2 ...]
@@ -388,6 +409,16 @@ class CmdLineTest(BaseCmdLineTest):
cov.load()
cov.json_report(morfs=["mod1", "mod2", "mod3"])
""")
+ self.cmd_executes("json -q", """\
+ cov = Coverage(messages=False)
+ cov.load()
+ cov.json_report()
+ """)
+ self.cmd_executes("json --quiet", """\
+ cov = Coverage(messages=False)
+ cov.load()
+ cov.json_report()
+ """)
def test_report(self):
# coverage report [-m] [-i] [-o DIR,...] [FILE1 FILE2 ...]
@@ -753,6 +784,16 @@ class CmdLineTest(BaseCmdLineTest):
cov.load()
cov.xml_report(morfs=["mod1", "mod2", "mod3"])
""")
+ self.cmd_executes("xml -q", """\
+ cov = Coverage(messages=False)
+ cov.load()
+ cov.xml_report()
+ """)
+ self.cmd_executes("xml --quiet", """\
+ cov = Coverage(messages=False)
+ cov.load()
+ cov.xml_report()
+ """)
def test_no_arguments_at_all(self):
self.cmd_help("", topic="minimum_help", ret=OK)
diff --git a/tests/test_concurrency.py b/tests/test_concurrency.py
index 696b12eb..c39b0163 100644
--- a/tests/test_concurrency.py
+++ b/tests/test_concurrency.py
@@ -450,13 +450,8 @@ class MultiprocessingTest(CoverageTest):
out = self.run_command(f"coverage run --rcfile=multi.rc multi.py {start_method}")
assert out.rstrip() == expected_out
- out = self.run_command("coverage combine")
- out_lines = out.splitlines()
- assert len(out_lines) == nprocs + 1
- assert all(
- re.fullmatch(r"Combined data file \.coverage\..*\.\d+\.\d+", line)
- for line in out_lines
- )
+ out = self.run_command("coverage combine -q") # sneak in a test of -q
+ assert out == ""
out = self.run_command("coverage report -m")
last_line = self.squeezed_lines(out)[-1]
diff --git a/tests/test_plugins.py b/tests/test_plugins.py
index ecc464cc..17c7ba44 100644
--- a/tests/test_plugins.py
+++ b/tests/test_plugins.py
@@ -6,7 +6,6 @@
import inspect
import io
import os.path
-import re
from xml.etree import ElementTree
import pytest
@@ -256,8 +255,8 @@ class PluginTest(CoverageTest):
out = self.run_command("coverage run main_file.py")
assert out == "MAIN\n"
- out = self.run_command("coverage html")
- assert re.fullmatch(r"Wrote HTML report to htmlcov[/\\]index.html\n", out)
+ out = self.run_command("coverage html -q") # sneak in a test of -q
+ assert out == ""
@pytest.mark.skipif(env.C_TRACER, reason="This test is only about PyTracer.")
diff --git a/tests/test_process.py b/tests/test_process.py
index 10312232..65a6e75d 100644
--- a/tests/test_process.py
+++ b/tests/test_process.py
@@ -1325,7 +1325,7 @@ class UnicodeFilePathsTest(CoverageTest):
# The XML report is always UTF8-encoded.
out = self.run_command("coverage xml")
- assert out == ""
+ assert out == "Wrote XML report to coverage.xml\n"
with open("coverage.xml", "rb") as xmlf:
xml = xmlf.read()
assert ' filename="h\xe2t.py"'.encode() in xml
@@ -1358,7 +1358,7 @@ class UnicodeFilePathsTest(CoverageTest):
assert expected % os.sep in index
# The XML report is always UTF8-encoded.
- out = self.run_command("coverage xml")
+ out = self.run_command("coverage xml -q")
assert out == ""
with open("coverage.xml", "rb") as xmlf:
xml = xmlf.read()
diff --git a/tests/test_report.py b/tests/test_report.py
index 1a9dd179..7d6f55af 100644
--- a/tests/test_report.py
+++ b/tests/test_report.py
@@ -13,6 +13,8 @@ from tests.coveragetest import CoverageTest
class FakeReporter:
"""A fake implementation of a one-file reporter."""
+ report_type = "fake report file"
+
def __init__(self, output="", error=False):
self.output = output
self.error = error
@@ -31,20 +33,26 @@ class RenderReportTest(CoverageTest):
def test_stdout(self):
fake = FakeReporter(output="Hello!\n")
- render_report("-", fake, [pytest, "coverage"])
+ msgs = []
+ render_report("-", fake, [pytest, "coverage"], msgs.append)
assert fake.morfs == [pytest, "coverage"]
assert self.stdout() == "Hello!\n"
+ assert msgs == []
def test_file(self):
fake = FakeReporter(output="Gréètings!\n")
- render_report("output.txt", fake, [])
+ msgs = []
+ render_report("output.txt", fake, [], msgs.append)
assert self.stdout() == ""
with open("output.txt", "rb") as f:
- assert f.read() == b"Gr\xc3\xa9\xc3\xa8tings!\n"
+ assert f.read().rstrip() == b"Gr\xc3\xa9\xc3\xa8tings!"
+ assert msgs == ["Wrote fake report file to output.txt"]
def test_exception(self):
fake = FakeReporter(error=True)
+ msgs = []
with pytest.raises(CoverageException, match="You asked for it!"):
- render_report("output.txt", fake, [])
+ render_report("output.txt", fake, [], msgs.append)
assert self.stdout() == ""
self.assert_doesnt_exist("output.txt")
+ assert msgs == []