Skip to content
Prev Previous commit
Refactor test codes and fix test_immortal.py
  • Loading branch information
corona10 committed May 2, 2023
commit 5538ed4643db9eadb22f55b6d43834be0de11e49
11 changes: 4 additions & 7 deletions Lib/test/test_capi/test_immortal.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,11 @@


class TestCAPI(unittest.TestCase):
def test_immortal_bool(self):
_testcapi.test_immortal_bool()
def test_immortal_builtins(self):
_testcapi.test_immortal_builtins()

def test_immortal_none(self):
_testcapi.test_immortal_none()

def test_immortal_ellipsis(self):
_testcapi.test_immortal_ellipsis()
def test_immortal_small_ints(self):
_testcapi.test_immortal_small_ints()


if __name__ == "__main__":
Expand Down
23 changes: 3 additions & 20 deletions Modules/_testcapi/immortal.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,16 @@ int verify_immortality(PyObject *object)
}

static PyObject *
test_immortal_bool(PyObject *self, PyObject *Py_UNUSED(ignored))
test_immortal_builtins(PyObject *self, PyObject *Py_UNUSED(ignored))
{
PyObject *objects[] = {Py_True, Py_False};
PyObject *objects[] = {Py_True, Py_False, Py_None, Py_Ellipsis};
Py_ssize_t n = Py_ARRAY_LENGTH(objects);
for (Py_ssize_t i = 0; i < n; i++) {
assert(verify_immortality(objects[i]));
}
Py_RETURN_NONE;
}

static PyObject *
test_immortal_none(PyObject *self, PyObject *Py_UNUSED(ignored))
{
assert(verify_immortality(Py_None));
Py_RETURN_NONE;
}

static PyObject *
test_immortal_small_ints(PyObject *self, PyObject *Py_UNUSED(ignored))
{
Expand All @@ -38,19 +31,9 @@ test_immortal_small_ints(PyObject *self, PyObject *Py_UNUSED(ignored))
Py_RETURN_NONE;
}

static PyObject *
test_immortal_ellipsis(PyObject *self, PyObject *Py_UNUSED(ignored))
{
assert(verify_immortality(Py_Ellipsis));
Py_RETURN_NONE;
}


static PyMethodDef test_methods[] = {
{"test_immortal_bool", test_immortal_bool, METH_NOARGS},
{"test_immortal_none", test_immortal_none, METH_NOARGS},
{"test_immortal_builtins", test_immortal_builtins, METH_NOARGS},
{"test_immortal_small_ints", test_immortal_small_ints, METH_NOARGS},
{"test_immortal_ellipsis", test_immortal_ellipsis, METH_NOARGS},
{NULL},
};

Expand Down