unittest.TestCase.assertDictEqual and assertMultilineEqual provide better default failure messages in the event of long diffs.

This commit is contained in:
Michael Foord 2010-06-05 12:58:39 +00:00
parent 77acee9567
commit 674648e3f2
2 changed files with 12 additions and 6 deletions

View file

@ -2,12 +2,16 @@
__unittest = True
def safe_repr(obj):
_MAX_LENGTH = 80
def safe_repr(obj, short=False):
try:
return repr(obj)
result = repr(obj)
except Exception:
return object.__repr__(obj)
result = object.__repr__(obj)
if not short or len(result) < _MAX_LENGTH:
return result
return result[:_MAX_LENGTH] + ' [truncated]...'
def strclass(cls):
return "%s.%s" % (cls.__module__, cls.__name__)