]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-42035: Enhance test_get_type_name() of _testcapi (GH-27649)
authorHai Shi <shihai1992@gmail.com>
Tue, 17 Aug 2021 14:50:33 +0000 (22:50 +0800)
committerGitHub <noreply@github.com>
Tue, 17 Aug 2021 14:50:33 +0000 (16:50 +0200)
Modules/_testcapimodule.c

index 0a3c6e0b9b27c62a6b7e7369cb6b497a0f0b09ce..e5f1ad312b41b636e3525a716addcd779cd19bea 100644 (file)
@@ -1154,6 +1154,20 @@ test_get_type_name(PyObject *self, PyObject *Py_UNUSED(ignored))
     assert(strcmp(PyUnicode_AsUTF8(tp_name), "HeapTypeNameType") == 0);
     Py_DECREF(tp_name);
 
+    PyObject *name = PyUnicode_FromString("test_name");
+    if (name == NULL) {
+        goto done;
+    }
+    if (PyObject_SetAttrString(HeapTypeNameType, "__name__", name) < 0) {
+        Py_DECREF(name);
+        goto done;
+    }
+    tp_name = PyType_GetName((PyTypeObject *)HeapTypeNameType);
+    assert(strcmp(PyUnicode_AsUTF8(tp_name), "test_name") == 0);
+    Py_DECREF(name);
+    Py_DECREF(tp_name);
+
+  done:
     Py_DECREF(HeapTypeNameType);
     Py_RETURN_NONE;
 }