diff options
author | Michael Foord <fuzzyman@voidspace.org.uk> | 2010-06-05 12:58:39 (GMT) |
---|---|---|
committer | Michael Foord <fuzzyman@voidspace.org.uk> | 2010-06-05 12:58:39 (GMT) |
commit | 674648e3f2020e30bf73fed7ac77625d6f159de2 (patch) | |
tree | 65278bf23510fc853a2c1b4e230e42b7183925f5 /Lib/unittest/case.py | |
parent | 77acee95677152af7417ad47148cf24feb4c947c (diff) | |
download | cpython-674648e3f2020e30bf73fed7ac77625d6f159de2.zip cpython-674648e3f2020e30bf73fed7ac77625d6f159de2.tar.gz cpython-674648e3f2020e30bf73fed7ac77625d6f159de2.tar.bz2 |
unittest.TestCase.assertDictEqual and assertMultilineEqual provide better default failure messages in the event of long diffs.
Diffstat (limited to 'Lib/unittest/case.py')
-rw-r--r-- | Lib/unittest/case.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py index b984bb9..ff6b8b3 100644 --- a/Lib/unittest/case.py +++ b/Lib/unittest/case.py @@ -800,10 +800,11 @@ class TestCase(object): self.assert_(isinstance(d2, dict), 'Second argument is not a dictionary') if d1 != d2: + standardMsg = '%s != %s' % (safe_repr(d1, True), safe_repr(d2, True)) diff = ('\n' + '\n'.join(difflib.ndiff( pprint.pformat(d1).splitlines(), pprint.pformat(d2).splitlines()))) - standardMsg = self._truncateMessage('', diff) + standardMsg = self._truncateMessage(standardMsg, diff) self.fail(self._formatMessage(msg, standardMsg)) def assertDictContainsSubset(self, expected, actual, msg=None): @@ -886,9 +887,10 @@ class TestCase(object): 'Second argument is not a string')) if first != second: + standardMsg = '%s != %s' % (safe_repr(d1, True), safe_repr(d2, True)) diff = '\n' + ''.join(difflib.ndiff(first.splitlines(True), second.splitlines(True))) - standardMsg = self._truncateMessage('', diff) + standardMsg = self._truncateMessage(standardMsg, diff) self.fail(self._formatMessage(msg, standardMsg)) def assertLess(self, a, b, msg=None): |