Author: Armin Rigo <ar...@tunes.org> Branch: Changeset: r89737:a6f3468a583e Date: 2017-01-24 15:40 +0100 http://bitbucket.org/pypy/pypy/changeset/a6f3468a583e/
Log: OperationError.errorstr() gave results depending on whether the exception was already normalized or not. Fix diff --git a/pypy/interpreter/error.py b/pypy/interpreter/error.py --- a/pypy/interpreter/error.py +++ b/pypy/interpreter/error.py @@ -71,6 +71,7 @@ def errorstr(self, space, use_repr=False): "The exception class and value, as a string." + self.normalize_exception(space) w_value = self.get_w_value(space) if space is None: # this part NOT_RPYTHON diff --git a/pypy/interpreter/test/test_error.py b/pypy/interpreter/test/test_error.py --- a/pypy/interpreter/test/test_error.py +++ b/pypy/interpreter/test/test_error.py @@ -81,7 +81,18 @@ def test_errorstr(space): operr = OperationError(space.w_ValueError, space.wrap("message")) assert operr.errorstr(space) == "ValueError: message" - assert operr.errorstr(space, use_repr=True) == "ValueError: 'message'" + assert operr.errorstr(space, use_repr=True) == ( + "ValueError: ValueError('message',)") + operr = OperationError(space.w_ValueError, space.w_None) + assert operr.errorstr(space) == "ValueError" + operr = OperationError(space.w_ValueError, + space.newtuple([space.wrap(6), space.wrap(7)])) + assert operr.errorstr(space) == "ValueError: (6, 7)" + operr = OperationError(space.w_UnicodeDecodeError, + space.wrap(('unicodeescape', r'\\x', 0, 2, r'truncated \\xXX escape'))) + assert operr.errorstr(space) == ( + "UnicodeDecodeError: 'unicodeescape' codec can't decode " + "bytes in position 0-1: truncated \\\\xXX escape") def test_wrap_oserror(): class FakeSpace: _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit