]> granicus.if.org Git - python/commitdiff
Test Py_IncRef() and Py_DecRef() C functions
authorChristian Heimes <christian@cheimes.de>
Wed, 31 Jul 2013 00:36:43 +0000 (02:36 +0200)
committerChristian Heimes <christian@cheimes.de>
Wed, 31 Jul 2013 00:36:43 +0000 (02:36 +0200)
Modules/_testcapimodule.c

index 6527a533625424f036cb283bfc2c439c09d7c525..1ed56873ce685ce0b828c90e0d2bec2b52930eb8 100644 (file)
@@ -2613,6 +2613,16 @@ test_decref_doesnt_leak(PyObject *ob)
     Py_RETURN_NONE;
 }
 
+static PyObject *
+test_incref_decref_API(PyObject *ob)
+{
+    PyObject *obj = PyLong_FromLong(0);
+    Py_IncRef(ob);
+    Py_DecRef(obj);
+    Py_DecRef(obj);
+    Py_RETURN_NONE;
+}
+
 static PyObject *
 test_pymem_alloc0(PyObject *self)
 {
@@ -2781,6 +2791,7 @@ static PyMethodDef TestMethods[] = {
     {"test_incref_doesnt_leak", (PyCFunction)test_incref_doesnt_leak,      METH_NOARGS},
     {"test_xdecref_doesnt_leak",(PyCFunction)test_xdecref_doesnt_leak,      METH_NOARGS},
     {"test_decref_doesnt_leak", (PyCFunction)test_decref_doesnt_leak,      METH_NOARGS},
+    {"test_incref_decref_API",  (PyCFunction)test_incref_decref_API,       METH_NOARGS},
     {"test_long_and_overflow", (PyCFunction)test_long_and_overflow,
      METH_NOARGS},
     {"test_long_as_double",     (PyCFunction)test_long_as_double,METH_NOARGS},