Author: mattip <matti.pi...@gmail.com>
Branch: cpyext-ext
Changeset: r83682:6e02ba5b13d9
Date: 2016-04-15 10:24 +0300
http://bitbucket.org/pypy/pypy/changeset/6e02ba5b13d9/

Log:    avoid segfault in -A tests, still lookiong for why this happens

diff --git a/pypy/objspace/std/typeobject.py b/pypy/objspace/std/typeobject.py
--- a/pypy/objspace/std/typeobject.py
+++ b/pypy/objspace/std/typeobject.py
@@ -630,9 +630,14 @@
         if (call_init and not (space.is_w(self, space.w_type) and
             not __args__.keywords and len(__args__.arguments_w) == 1)):
             w_descr = space.lookup(w_newobject, '__init__')
-            w_result = space.get_and_call_args(w_descr, w_newobject, __args__)
-            if not space.is_w(w_result, space.w_None):
-                raise oefmt(space.w_TypeError, "__init__() should return None")
+            if w_descr:
+                w_result = space.get_and_call_args(w_descr, w_newobject, 
__args__)
+                if not space.is_w(w_result, space.w_None):
+                    raise oefmt(space.w_TypeError, "__init__() should return 
None")
+            else:
+                # XXX FIXME - happens when running 
test_tp_new_in_subclass_of_type
+                # but only with pypy pytest.py -A ...
+                print "'__init__' not found when calling %s" % 
self.getname(space)
         return w_newobject
 
     def descr_repr(self, space):
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to