summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_builtin.py2
-rw-r--r--Lib/test/test_capi/test_immortal.py16
2 files changed, 17 insertions, 1 deletions
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index e51711d..06df217 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -2691,7 +2691,7 @@ class ShutdownTest(unittest.TestCase):
class ImmortalTests(unittest.TestCase):
if sys.maxsize < (1 << 32):
- IMMORTAL_REFCOUNT = 3 << 29
+ IMMORTAL_REFCOUNT = 7 << 28
else:
IMMORTAL_REFCOUNT = 3 << 30
diff --git a/Lib/test/test_capi/test_immortal.py b/Lib/test/test_capi/test_immortal.py
index ef5d32b..3e36913 100644
--- a/Lib/test/test_capi/test_immortal.py
+++ b/Lib/test/test_capi/test_immortal.py
@@ -2,6 +2,7 @@ import unittest
from test.support import import_helper
_testcapi = import_helper.import_module('_testcapi')
+_testinternalcapi = import_helper.import_module('_testinternalcapi')
class TestCAPI(unittest.TestCase):
@@ -11,6 +12,21 @@ class TestCAPI(unittest.TestCase):
def test_immortal_small_ints(self):
_testcapi.test_immortal_small_ints()
+class TestInternalCAPI(unittest.TestCase):
+
+ def test_immortal_builtins(self):
+ for obj in range(-5, 256):
+ self.assertTrue(_testinternalcapi.is_static_immortal(obj))
+ self.assertTrue(_testinternalcapi.is_static_immortal(None))
+ self.assertTrue(_testinternalcapi.is_static_immortal(False))
+ self.assertTrue(_testinternalcapi.is_static_immortal(True))
+ self.assertTrue(_testinternalcapi.is_static_immortal(...))
+ self.assertTrue(_testinternalcapi.is_static_immortal(()))
+ for obj in range(300, 400):
+ self.assertFalse(_testinternalcapi.is_static_immortal(obj))
+ for obj in ([], {}, set()):
+ self.assertFalse(_testinternalcapi.is_static_immortal(obj))
+
if __name__ == "__main__":
unittest.main()