diff options
Diffstat (limited to 'Lib/unittest/util.py')
-rw-r--r-- | Lib/unittest/util.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/Lib/unittest/util.py b/Lib/unittest/util.py index ea8a68d..c3f4a2d 100644 --- a/Lib/unittest/util.py +++ b/Lib/unittest/util.py @@ -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__) |