aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/test/test_code_module.py
diff options
context:
space:
mode:
authorTian Gao <gaogaotiantian@hotmail.com>2025-02-28 13:15:55 -0500
committerGitHub <noreply@github.com>2025-02-28 13:15:55 -0500
commitfdcbc29f26448f47201ec40fcf3b6405631c85d3 (patch)
treea9bef4a5ebfdf4db2c7a9387c194e4d86681b7dc /Lib/test/test_code_module.py
parent54965f3fb25b381995a73b09d928c344bd2b86bd (diff)
downloadcpython-fdcbc29f26448f47201ec40fcf3b6405631c85d3.tar.gz
cpython-fdcbc29f26448f47201ec40fcf3b6405631c85d3.zip
gh-130660: Restore sys.ps1 and sys.ps2 after code.interact (#130661)
Diffstat (limited to 'Lib/test/test_code_module.py')
-rw-r--r--Lib/test/test_code_module.py36
1 files changed, 32 insertions, 4 deletions
diff --git a/Lib/test/test_code_module.py b/Lib/test/test_code_module.py
index faa0b38f837..57fb130070b 100644
--- a/Lib/test/test_code_module.py
+++ b/Lib/test/test_code_module.py
@@ -39,19 +39,47 @@ class TestInteractiveConsole(unittest.TestCase, MockSys):
self.mock_sys()
def test_ps1(self):
- self.infunc.side_effect = EOFError('Finished')
+ self.infunc.side_effect = [
+ "import code",
+ "code.sys.ps1",
+ EOFError('Finished')
+ ]
self.console.interact()
- self.assertEqual(self.sysmod.ps1, '>>> ')
+ output = ''.join(''.join(call[1]) for call in self.stdout.method_calls)
+ self.assertIn('>>> ', output)
+ self.assertNotHasAttr(self.sysmod, 'ps1')
+
+ self.infunc.side_effect = [
+ "import code",
+ "code.sys.ps1",
+ EOFError('Finished')
+ ]
self.sysmod.ps1 = 'custom1> '
self.console.interact()
+ output = ''.join(''.join(call[1]) for call in self.stdout.method_calls)
+ self.assertIn('custom1> ', output)
self.assertEqual(self.sysmod.ps1, 'custom1> ')
def test_ps2(self):
- self.infunc.side_effect = EOFError('Finished')
+ self.infunc.side_effect = [
+ "import code",
+ "code.sys.ps2",
+ EOFError('Finished')
+ ]
self.console.interact()
- self.assertEqual(self.sysmod.ps2, '... ')
+ output = ''.join(''.join(call[1]) for call in self.stdout.method_calls)
+ self.assertIn('... ', output)
+ self.assertNotHasAttr(self.sysmod, 'ps2')
+
+ self.infunc.side_effect = [
+ "import code",
+ "code.sys.ps2",
+ EOFError('Finished')
+ ]
self.sysmod.ps2 = 'custom2> '
self.console.interact()
+ output = ''.join(''.join(call[1]) for call in self.stdout.method_calls)
+ self.assertIn('custom2> ', output)
self.assertEqual(self.sysmod.ps2, 'custom2> ')
def test_console_stderr(self):