Skip to content

Commit 9987a92

Browse files
add more tests
1 parent ed5389c commit 9987a92

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

Modules/_testcapi/object.c

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,10 +211,23 @@ test_py_set_immortal(PyObject *self, PyObject *unused)
211211
Py_SET_REFCNT(&object, 1);
212212
Py_SET_TYPE(&object, &PyBaseObject_Type);
213213
assert(!PyUnstable_IsImmortal(&object));
214-
PyUnstable_SetImmortal(&object);
214+
int rc = PyUnstable_SetImmortal(&object);
215+
assert(rc == 1);
215216
assert(PyUnstable_IsImmortal(&object));
216217
Py_DECREF(&object); // should not dealloc
217218
assert(PyUnstable_IsImmortal(&object));
219+
220+
// Check already immortal object
221+
rc = PyUnstable_SetImmortal(&object);
222+
assert(rc == 0);
223+
224+
// Check unicode objects
225+
PyObject *unicode = PyUnicode_FromString("test");
226+
assert(!PyUnstable_IsImmortal(unicode));
227+
rc = PyUnstable_SetImmortal(unicode);
228+
assert(rc == 0);
229+
assert(!PyUnstable_IsImmortal(unicode));
230+
Py_DECREF(unicode);
218231
Py_RETURN_NONE;
219232
}
220233

0 commit comments

Comments
 (0)