Skip to content

Commit 4689159

Browse files
committed
Add test_cmd_line.test_presite()
1 parent 5224098 commit 4689159

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

Lib/test/test_cmd_line.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,17 @@ def _kill_python_and_exit_code(p):
3232
return data, returncode
3333

3434

35+
def presite_func():
36+
print("presite func")
37+
38+
class Namespace:
39+
pass
40+
41+
presite = Namespace()
42+
presite.attr = Namespace()
43+
presite.attr.func = presite_func
44+
45+
3546
class CmdLineTest(unittest.TestCase):
3647
def test_directories(self):
3748
assert_python_failure('.')
@@ -1266,6 +1277,17 @@ def test_invalid_thread_local_bytecode(self):
12661277
rc, out, err = assert_python_failure(PYTHON_TLBC="2")
12671278
self.assertIn(b"PYTHON_TLBC=N: N is missing or invalid", err)
12681279

1280+
@unittest.skipUnless(support.Py_DEBUG,
1281+
'-X presite requires a Python debug build')
1282+
def test_presite(self):
1283+
entrypoint = "test.test_cmd_line:presite_func"
1284+
proc = assert_python_ok("-X", f"presite={entrypoint}")
1285+
self.assertEqual(proc.out.rstrip(), b"presite func")
1286+
1287+
entrypoint = "test.test_cmd_line:presite.attr.func"
1288+
proc = assert_python_ok("-X", f"presite={entrypoint}")
1289+
self.assertEqual(proc.out.rstrip(), b"presite func")
1290+
12691291

12701292
@unittest.skipIf(interpreter_requires_environment(),
12711293
'Cannot run -I tests when PYTHON env vars are required.')

0 commit comments

Comments
 (0)