https://github.com/python/cpython/commit/4911737f2bf4477c39a37f721274f0d70ee7b44c commit: 4911737f2bf4477c39a37f721274f0d70ee7b44c branch: 3.15 author: Miss Islington (bot) <[email protected]> committer: vstinner <[email protected]> date: 2026-10-09T23:31:29+02:00 summary:
[3.15] gh-128509: Add tests on sys._is_immortal() (GH-157376) (#157445) gh-128509: Add tests on sys._is_immortal() (GH-157376) (cherry picked from commit fb46c67d56c16b3235db8a051a0834a146897287) Co-authored-by: Victor Stinner <[email protected]> files: M Lib/test/test_sys.py diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py index 3db2e707369993..7dbb10526095e8 100644 --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -1445,6 +1445,37 @@ def test_int_max_str_digits(self): with self.assertRaises(TypeError): sys.set_int_max_str_digits(2_048.0) + @test.support.cpython_only + def test_is_immortal(self): + is_immortal = sys._is_immortal + + # Singletons + self.assertTrue(is_immortal(None)) + self.assertTrue(is_immortal(False)) + self.assertTrue(is_immortal(True)) + self.assertTrue(is_immortal(0)) + self.assertTrue(is_immortal(b'')) + self.assertTrue(is_immortal('')) + self.assertTrue(is_immortal(b'x')) + self.assertTrue(is_immortal('x')) + self.assertTrue(is_immortal(())) + + # Static types + self.assertTrue(is_immortal(int)) + self.assertTrue(is_immortal(dict)) + + # Test some mortal objects + class PythonType: + pass + self.assertFalse(is_immortal([1, 2, 3])) + self.assertFalse(is_immortal({'key': 5})) + self.assertFalse(is_immortal(object())) + self.assertFalse(is_immortal(PythonType)) + self.assertFalse(is_immortal(2 ** 100)) + # Use encode/decode to get a fresh object + self.assertFalse(is_immortal(b'abc'.decode())) + self.assertFalse(is_immortal('abc'.encode())) + @test.support.cpython_only @test.support.force_not_colorized_test_class _______________________________________________ Python-checkins mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3//lists/python-checkins.python.org Member address: [email protected]
