diff --git a/src/_pytest/_io/saferepr.py b/src/_pytest/_io/saferepr.py index b5387d205..5a4c76b4b 100644 --- a/src/_pytest/_io/saferepr.py +++ b/src/_pytest/_io/saferepr.py @@ -22,6 +22,12 @@ class SafeRepr(reprlib.Repr): and includes information on exceptions raised during the call. """ + def __init__(self, maxsize): + super().__init__() + self.maxstring = maxsize + self.maxsize = maxsize + self.maxother = 160 + def repr(self, x): return self._callhelper(reprlib.Repr.repr, self, x) @@ -52,9 +58,4 @@ def saferepr(obj, maxsize=240): care to never raise exceptions itself. This function is a wrapper around the Repr/reprlib functionality of the standard 2.6 lib. """ - # review exception handling - srepr = SafeRepr() - srepr.maxstring = maxsize - srepr.maxsize = maxsize - srepr.maxother = 160 - return srepr.repr(obj) + return SafeRepr(maxsize).repr(obj) diff --git a/testing/io/test_saferepr.py b/testing/io/test_saferepr.py index f6abfe322..f005f0cc4 100644 --- a/testing/io/test_saferepr.py +++ b/testing/io/test_saferepr.py @@ -48,7 +48,7 @@ def test_exceptions(): def test_big_repr(): from _pytest._io.saferepr import SafeRepr - assert len(saferepr(range(1000))) <= len("[" + SafeRepr().maxlist * "1000" + "]") + assert len(saferepr(range(1000))) <= len("[" + SafeRepr(0).maxlist * "1000" + "]") def test_repr_on_newstyle():