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

Reply via email to