Skip to content

Commit 64c9a52

Browse files
committed
Test for sys._is_immortal in the existing case.
1 parent 20bb910 commit 64c9a52

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

Lib/test/test_capi/test_immortal.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,32 @@
11
import unittest
22
from test.support import import_helper
3+
import sys
34

45
_testcapi = import_helper.import_module('_testcapi')
56
_testinternalcapi = import_helper.import_module('_testinternalcapi')
67

78

8-
class TestUnstableCAPI(unittest.TestCase):
9-
def test_immortal(self):
9+
class TestImmortalAPI(unittest.TestCase):
10+
def immortal_checking(self, func):
1011
# Not extensive
1112
known_immortals = (True, False, None, 0, ())
1213
for immortal in known_immortals:
1314
with self.subTest(immortal=immortal):
14-
self.assertTrue(_testcapi.is_immortal(immortal))
15+
self.assertTrue(func(immortal))
1516

1617
# Some arbitrary mutable objects
1718
non_immortals = (object(), self, [object()])
1819
for non_immortal in non_immortals:
1920
with self.subTest(non_immortal=non_immortal):
20-
self.assertFalse(_testcapi.is_immortal(non_immortal))
21+
self.assertFalse(func(non_immortal))
2122

23+
def test_unstable_c_api(self):
24+
self.immortal_checking(_testcapi.is_immortal)
2225
# CRASHES _testcapi.is_immortal(NULL)
2326

27+
def test_sys(self):
28+
self.immortal_checking(sys._is_immortal)
29+
2430

2531
class TestInternalCAPI(unittest.TestCase):
2632

0 commit comments

Comments
 (0)