gh-123275: Add tests for `PYTHON_GIL=1` and `-Xgil=1` (gh-123754)

This commit is contained in:
Peter Bierma 2024-09-05 21:15:30 -04:00 committed by GitHub
parent f8f7500168
commit fe24b718d2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 16 additions and 6 deletions

View File

@ -880,19 +880,29 @@ class CmdLineTest(unittest.TestCase):
self.assertEqual(proc.stdout.rstrip(), 'True') self.assertEqual(proc.stdout.rstrip(), 'True')
self.assertEqual(proc.returncode, 0, proc) self.assertEqual(proc.returncode, 0, proc)
@unittest.skipUnless(support.Py_GIL_DISABLED,
"PYTHON_GIL and -X gil only supported in Py_GIL_DISABLED builds")
def test_python_gil(self): def test_python_gil(self):
cases = [ cases = [
# (env, opt, expected, msg) # (env, opt, expected, msg)
(None, None, 'None', "no options set"),
('0', None, '0', "PYTHON_GIL=0"),
('1', None, '1', "PYTHON_GIL=1"), ('1', None, '1', "PYTHON_GIL=1"),
('1', '0', '0', "-X gil=0 overrides PYTHON_GIL=1"),
(None, '0', '0', "-X gil=0"),
(None, '1', '1', "-X gil=1"), (None, '1', '1', "-X gil=1"),
] ]
if support.Py_GIL_DISABLED:
cases.extend(
[
(None, None, 'None', "no options set"),
('0', None, '0', "PYTHON_GIL=0"),
('1', '0', '0', "-X gil=0 overrides PYTHON_GIL=1"),
(None, '0', '0', "-X gil=0"),
]
)
else:
cases.extend(
[
(None, None, '1', '-X gil=0 (unsupported by this build)'),
('1', None, '1', 'PYTHON_GIL=0 (unsupported by this build)'),
]
)
code = "import sys; print(sys.flags.gil)" code = "import sys; print(sys.flags.gil)"
environ = dict(os.environ) environ = dict(os.environ)