Skip to content

Commit

Permalink
Remove ExceptionInfo.__str__, falling back to __repr__
Browse files Browse the repository at this point in the history
  • Loading branch information
nicoddemus committed Jun 6, 2019
1 parent 450d264 commit 65c2a81
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 18 deletions.
2 changes: 2 additions & 0 deletions changelog/5412.removal.rst
@@ -0,0 +1,2 @@
``ExceptionInfo`` objects (returned by ``pytest.raises``) now have the same ``str`` representation as ``repr``, which
avoids some confusion when users use ``print(e)`` to inspect the object.
7 changes: 0 additions & 7 deletions src/_pytest/_code/code.py
Expand Up @@ -534,13 +534,6 @@ def getrepr(
)
return fmt.repr_excinfo(self)

def __str__(self):
if self._excinfo is None:
return repr(self)
entry = self.traceback[-1]
loc = ReprFileLocation(entry.path, entry.lineno + 1, self.exconly())
return str(loc)

def match(self, regexp):
"""
Check whether the regular expression 'regexp' is found in the string
Expand Down
14 changes: 3 additions & 11 deletions testing/code/test_excinfo.py
Expand Up @@ -333,18 +333,10 @@ def test_excinfo_exconly():
assert msg.endswith("world")


def test_excinfo_repr():
def test_excinfo_repr_str():
excinfo = pytest.raises(ValueError, h)
s = repr(excinfo)
assert s == "<ExceptionInfo ValueError tblen=4>"


def test_excinfo_str():
excinfo = pytest.raises(ValueError, h)
s = str(excinfo)
assert s.startswith(__file__[:-9]) # pyc file and $py.class
assert s.endswith("ValueError")
assert len(s.split(":")) >= 3 # on windows it's 4
assert repr(excinfo) == "<ExceptionInfo ValueError tblen=4>"
assert str(excinfo) == "<ExceptionInfo ValueError tblen=4>"


def test_excinfo_for_later():
Expand Down

0 comments on commit 65c2a81

Please sign in to comment.