Author: Ronan Lamy <ronan.l...@gmail.com>
Branch: 
Changeset: r87049:6ea4b78fa64b
Date: 2016-09-12 16:28 +0100
http://bitbucket.org/pypy/pypy/changeset/6ea4b78fa64b/

Log:    Fix -A segfault in test_tp_new_in_subclass_type(), but now it fails
        in regular testing

diff --git a/pypy/module/cpyext/test/foo3.c b/pypy/module/cpyext/test/foo3.c
--- a/pypy/module/cpyext/test/foo3.c
+++ b/pypy/module/cpyext/test/foo3.c
@@ -4,9 +4,7 @@
 PyObject* foo3type_tp_new(PyTypeObject* metatype, PyObject* args, PyObject* 
kwds)
 {
     PyObject* newType;
-    /*printf("in foo3type_tp_new, preprocessing...\n"); */
-    newType = PyType_Type.tp_new(metatype, args, kwds);
-    /*printf("in foo3type_tp_new, postprocessing...\n"); */
+    newType = PyType_GenericNew(metatype, args, kwds);
     return newType;
 }
 
@@ -73,6 +71,7 @@
     PyObject *mod, *d;
     footype.tp_base = &PyType_Type;
     PyType_Ready(&footype);
+    Py_INCREF(&footype);
     mod = Py_InitModule("foo3", sbkMethods);
     if (mod == NULL)
         return;
diff --git a/pypy/module/cpyext/test/test_typeobject.py 
b/pypy/module/cpyext/test/test_typeobject.py
--- a/pypy/module/cpyext/test/test_typeobject.py
+++ b/pypy/module/cpyext/test/test_typeobject.py
@@ -961,7 +961,6 @@
 
     def test_tp_new_in_subclass_of_type(self):
         module = self.import_module(name='foo3')
-        #print('calling module.footype()...')
         module.footype("X", (object,), {})
 
     def test_app_subclass_of_c_type(self):
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to