summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2014-06-03 21:41:12 -0400
committerNed Batchelder <ned@nedbatchelder.com>2014-06-03 21:41:12 -0400
commitdfe2fa5e5db2cf29a1b43b0abf61be3b545db270 (patch)
treeb9309998f9699848654101ed2d27d00e11211a27 /tests
parent8b5e0c98a9bae35595e4ca0497fd0e57c3c37827 (diff)
downloadpython-coveragepy-git-dfe2fa5e5db2cf29a1b43b0abf61be3b545db270.tar.gz
Round fail-under result same as others. Fixed #284.
Diffstat (limited to 'tests')
-rw-r--r--tests/coveragetest.py18
-rw-r--r--tests/test_process.py39
-rw-r--r--tests/test_summary.py16
3 files changed, 44 insertions, 29 deletions
diff --git a/tests/coveragetest.py b/tests/coveragetest.py
index aa851954..fa55dec3 100644
--- a/tests/coveragetest.py
+++ b/tests/coveragetest.py
@@ -1,6 +1,6 @@
"""Base test case class for coverage testing."""
-import glob, os, random, shlex, shutil, sys, tempfile, textwrap
+import glob, os, random, re, shlex, shutil, sys, tempfile, textwrap
import atexit, collections
import coverage
@@ -486,6 +486,22 @@ class CoverageTest(TestCase):
print(output)
return status, output
+ def report_from_command(self, cmd):
+ """Return the report from the `cmd`, with some convenience added."""
+ report = self.run_command(cmd).replace('\\', '/')
+ self.assertNotIn("error", report.lower())
+ return report
+
+ def line_count(self, report):
+ """How many lines are in `report`?"""
+ self.assertEqual(report.split('\n')[-1], "")
+ return len(report.split('\n')) - 1
+
+ def last_line_squeezed(self, report):
+ """Return the last line of `report` with the spaces squeezed down."""
+ last_line = report.split('\n')[-2]
+ return re.sub(r"\s+", " ", last_line)
+
# We run some tests in temporary directories, because they may need to make
# files for the tests. But this is expensive, so we can change per-class
# whether a temp dir is used or not. It's easy to forget to set that
diff --git a/tests/test_process.py b/tests/test_process.py
index 987e961d..b9203e3e 100644
--- a/tests/test_process.py
+++ b/tests/test_process.py
@@ -568,32 +568,47 @@ class FailUnderTest(CoverageTest):
def setUp(self):
super(FailUnderTest, self).setUp()
- self.make_file("fifty.py", """\
- # I have 50% coverage!
+ self.make_file("forty_two_plus.py", """\
+ # I have 42.857% (3/7) coverage!
a = 1
- if a > 2:
- b = 3
- c = 4
+ b = 2
+ if a > 3:
+ b = 4
+ c = 5
+ d = 6
+ e = 7
""")
- st, _ = self.run_command_status("coverage run fifty.py", 0)
+ st, _ = self.run_command_status("coverage run forty_two_plus.py", 0)
+ self.assertEqual(st, 0)
+ st, out = self.run_command_status("coverage report")
self.assertEqual(st, 0)
+ self.assertEqual(
+ self.last_line_squeezed(out),
+ "forty_two_plus 7 4 43%"
+ )
def test_report(self):
- st, _ = self.run_command_status("coverage report --fail-under=50", 0)
+ st, _ = self.run_command_status("coverage report --fail-under=42", 0)
+ self.assertEqual(st, 0)
+ st, _ = self.run_command_status("coverage report --fail-under=43", 0)
self.assertEqual(st, 0)
- st, _ = self.run_command_status("coverage report --fail-under=51", 2)
+ st, _ = self.run_command_status("coverage report --fail-under=44", 2)
self.assertEqual(st, 2)
def test_html_report(self):
- st, _ = self.run_command_status("coverage html --fail-under=50", 0)
+ st, _ = self.run_command_status("coverage html --fail-under=42", 0)
self.assertEqual(st, 0)
- st, _ = self.run_command_status("coverage html --fail-under=51", 2)
+ st, _ = self.run_command_status("coverage html --fail-under=43", 0)
+ self.assertEqual(st, 0)
+ st, _ = self.run_command_status("coverage html --fail-under=44", 2)
self.assertEqual(st, 2)
def test_xml_report(self):
- st, _ = self.run_command_status("coverage xml --fail-under=50", 0)
+ st, _ = self.run_command_status("coverage xml --fail-under=42", 0)
+ self.assertEqual(st, 0)
+ st, _ = self.run_command_status("coverage xml --fail-under=43", 0)
self.assertEqual(st, 0)
- st, _ = self.run_command_status("coverage xml --fail-under=51", 2)
+ st, _ = self.run_command_status("coverage xml --fail-under=44", 2)
self.assertEqual(st, 2)
diff --git a/tests/test_summary.py b/tests/test_summary.py
index 2612fe36..336a2af3 100644
--- a/tests/test_summary.py
+++ b/tests/test_summary.py
@@ -21,22 +21,6 @@ class SummaryTest(CoverageTest):
# Parent class saves and restores sys.path, we can just modify it.
sys.path.append(self.nice_file(os.path.dirname(__file__), 'modules'))
- def report_from_command(self, cmd):
- """Return the report from the `cmd`, with some convenience added."""
- report = self.run_command(cmd).replace('\\', '/')
- self.assertNotIn("error", report.lower())
- return report
-
- def line_count(self, report):
- """How many lines are in `report`?"""
- self.assertEqual(report.split('\n')[-1], "")
- return len(report.split('\n')) - 1
-
- def last_line_squeezed(self, report):
- """Return the last line of `report` with the spaces squeezed down."""
- last_line = report.split('\n')[-2]
- return re.sub(r"\s+", " ", last_line)
-
def test_report(self):
out = self.run_command("coverage run mycode.py")
self.assertEqual(out, 'done\n')