summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2009-12-20 11:02:02 -0500
committerNed Batchelder <ned@nedbatchelder.com>2009-12-20 11:02:02 -0500
commitd17aeb10e55585a23702737087afc60a35d3123c (patch)
tree33c2721709a3b1c0dc49e0a6bd2bd70f8e423ca1
parentac58d7b298efd6b3aeb6ce3410e5cc1236073c1f (diff)
downloadpython-coveragepy-git-d17aeb10e55585a23702737087afc60a35d3123c.tar.gz
A better way to display differences between arc lists when tests fail.
-rw-r--r--test/coveragetest.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/test/coveragetest.py b/test/coveragetest.py
index ee440f30..6576e359 100644
--- a/test/coveragetest.py
+++ b/test/coveragetest.py
@@ -162,6 +162,13 @@ class CoverageTest(TestCase):
arcs.append((self._arcz_map[a], self._arcz_map[b]))
return sorted(arcs)
+ def assertEqualArcs(self, a1, a2):
+ """Assert that the arc lists `a1` and `a2` are equal."""
+ # Make them into multi-line strings so we can see what's going wrong.
+ s1 = "\n".join([repr(a) for a in a1]) + "\n"
+ s2 = "\n".join([repr(a) for a in a2]) + "\n"
+ self.assertMultiLineEqual(s1, s2)
+
def check_coverage(self, text, lines=None, missing="", excludes=None,
report="", arcz=None, arcz_missing="", arcz_unpredicted=""):
"""Check the coverage measurement of `text`.
@@ -234,13 +241,13 @@ class CoverageTest(TestCase):
)
if arcs is not None:
- self.assertEqual(analysis.arc_possibilities(), arcs)
+ self.assertEqualArcs(analysis.arc_possibilities(), arcs)
if arcs_missing is not None:
- self.assertEqual(analysis.arcs_missing(), arcs_missing)
+ self.assertEqualArcs(analysis.arcs_missing(), arcs_missing)
if arcs_unpredicted is not None:
- self.assertEqual(analysis.arcs_unpredicted(), arcs_unpredicted)
+ self.assertEqualArcs(analysis.arcs_unpredicted(), arcs_unpredicted)
if report:
frep = StringIO()