Author: Carl Friedrich Bolz-Tereick <[email protected]>
Branch: py3.7
Changeset: r98584:fd7960fb9618
Date: 2020-01-25 16:07 +0100
http://bitbucket.org/pypy/pypy/changeset/fd7960fb9618/
Log: improve error message, so that finding aa34f98b135c would have been
simpler
diff --git a/pypy/module/__builtin__/abstractinst.py
b/pypy/module/__builtin__/abstractinst.py
--- a/pypy/module/__builtin__/abstractinst.py
+++ b/pypy/module/__builtin__/abstractinst.py
@@ -8,9 +8,10 @@
"""
from rpython.rlib import jit
+from rpython.rlib.objectmodel import specialize
from pypy.interpreter.baseobjspace import ObjSpace as BaseObjSpace
-from pypy.interpreter.error import OperationError
+from pypy.interpreter.error import OperationError, oefmt
def _get_bases(space, w_cls):
"""Returns 'cls.__bases__'. Returns None if there is
@@ -30,9 +31,11 @@
def abstract_isclass_w(space, w_obj):
return _get_bases(space, w_obj) is not None
[email protected](2)
def check_class(space, w_obj, msg):
if not abstract_isclass_w(space, w_obj):
- raise OperationError(space.w_TypeError, space.newtext(msg))
+ msg += ', got %T'
+ raise oefmt(space.w_TypeError, msg, w_obj)
def abstract_getclass(space, w_obj):
diff --git a/pypy/module/__builtin__/test/test_abstractinst.py
b/pypy/module/__builtin__/test/test_abstractinst.py
--- a/pypy/module/__builtin__/test/test_abstractinst.py
+++ b/pypy/module/__builtin__/test/test_abstractinst.py
@@ -271,3 +271,10 @@
skip("non-normalized exception") #raise Special, ValueError()
except Special:
pass
+
+ def test_exception_contains_type_name(self):
+ with raises(TypeError) as e:
+ issubclass(type, None)
+ print(e.value)
+ assert "NoneType" in str(e.value)
+
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit