Skip to content

Commit

Permalink
Add test for PYTHON_GIL in test_cmd_line
Browse files Browse the repository at this point in the history
  • Loading branch information
swtaarrs committed Mar 5, 2024
1 parent e0b8484 commit 4f43a87
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions Lib/test/test_cmd_line.py
Original file line number Diff line number Diff line change
Expand Up @@ -871,6 +871,38 @@ def test_pythondevmode_env(self):
self.assertEqual(proc.stdout.rstrip(), 'True')
self.assertEqual(proc.returncode, 0, proc)

@unittest.skipUnless(support.Py_GIL_DISABLED,
"PYTHON_GIL only supported in Py_GIL_DISABLED builds")
def test_python_gil_env(self):
code = """if 1:
import _testinternalcapi
print(_testinternalcapi.get_configs()['config'].get('enable_gil'))
"""
args = [sys.executable, '-c', code]
env = dict(os.environ)
env.pop('PYTHON_GIL', None)

def run():
return subprocess.run(args, stdout=subprocess.PIPE,
stderr=subprocess.PIPE, text=True, env=env)

proc = run()
self.assertEqual(proc.returncode, 0, proc)
self.assertEqual(proc.stdout.rstrip(), '0')
self.assertEqual(proc.stderr, '')

env['PYTHON_GIL'] = '0'
proc = run()
self.assertEqual(proc.returncode, 0, proc)
self.assertEqual(proc.stdout.rstrip(), '1')
self.assertEqual(proc.stderr, '')

env['PYTHON_GIL'] = '1'
proc = run()
self.assertEqual(proc.returncode, 0, proc)
self.assertEqual(proc.stdout.rstrip(), '2')
self.assertEqual(proc.stderr, '')

@unittest.skipUnless(sys.platform == 'win32',
'bpo-32457 only applies on Windows')
def test_argv0_normalization(self):
Expand Down

0 comments on commit 4f43a87

Please sign in to comment.