summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/backunittest.py8
-rw-r--r--test/test_testing.py6
2 files changed, 11 insertions, 3 deletions
diff --git a/test/backunittest.py b/test/backunittest.py
index 3e521e5a..f606185f 100644
--- a/test/backunittest.py
+++ b/test/backunittest.py
@@ -73,7 +73,7 @@ class TestCase(unittest.TestCase):
raise self.failureException("%r doesn't match %r" % (s, regex))
if _need('assertMultiLineEqual'):
- def assertMultiLineEqual(self, first, second):
+ def assertMultiLineEqual(self, first, second, msg=None):
"""Assert that two multi-line strings are equal.
If they aren't, show a nice diff.
@@ -86,6 +86,8 @@ class TestCase(unittest.TestCase):
'Second argument is not a string')
if first != second:
- msg = ''.join(difflib.ndiff(first.splitlines(True),
+ message = ''.join(difflib.ndiff(first.splitlines(True),
second.splitlines(True)))
- self.fail("Multi-line strings are unequal:\n" + msg)
+ if msg:
+ message += " : " + msg
+ self.fail("Multi-line strings are unequal:\n" + message)
diff --git a/test/test_testing.py b/test/test_testing.py
index 58b6dc82..9bbb7cca 100644
--- a/test/test_testing.py
+++ b/test/test_testing.py
@@ -45,6 +45,12 @@ class TestingTest(TestCase):
self.assertRaises(AssertionError, self.assertMultiLineEqual,
"hello\nthere", "hello\nThere"
)
+ # With messages also.
+ self.assertMultiLineEqual("hi", "hi", "it's ok")
+ self.assertRaisesRegexp(
+ AssertionError, "my message",
+ self.assertMultiLineEqual, "xyz", "abc", "my message"
+ )
def test_assert_raises_regexp(self):
# Raising the right error with the right message passes.