From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Fri, 3 Apr 2026 12:35:26 +0000 (+0200) Subject: [3.13] gh-143394: Skip pyrepl test_no_newline() basic REPL if readline is missing... X-Git-Tag: v3.13.13~23 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2a00d94fb252d8cf3c474d65851782c21a5153e5;p=thirdparty%2FPython%2Fcpython.git [3.13] gh-143394: Skip pyrepl test_no_newline() basic REPL if readline is missing (GH-147973) (#148006) gh-143394: Skip pyrepl test_no_newline() basic REPL if readline is missing (GH-147973) (cherry picked from commit 97babb8ef70c1c25768a0e534cfb10955c6b290d) Co-authored-by: Victor Stinner --- diff --git a/Lib/test/test_pyrepl/test_pyrepl.py b/Lib/test/test_pyrepl/test_pyrepl.py index c4d58f15d2f8..bbb69fe160fb 100644 --- a/Lib/test/test_pyrepl/test_pyrepl.py +++ b/Lib/test/test_pyrepl/test_pyrepl.py @@ -33,6 +33,10 @@ try: import pty except ImportError: pty = None +try: + import readline as readline_module +except ImportError: + readline_module = None class ReplTestCase(TestCase): @@ -1418,9 +1422,12 @@ class TestMain(ReplTestCase): commands = "print('Something pretty long', end='')\nexit()\n" expected_output_sequence = "Something pretty long>>> exit()" - basic_output, basic_exit_code = self.run_repl(commands, env=env) - self.assertEqual(basic_exit_code, 0) - self.assertIn(expected_output_sequence, basic_output) + # gh-143394: The basic REPL needs the readline module to turn off + # ECHO terminal attribute. + if readline_module is not None: + basic_output, basic_exit_code = self.run_repl(commands, env=env) + self.assertEqual(basic_exit_code, 0) + self.assertIn(expected_output_sequence, basic_output) output, exit_code = self.run_repl(commands) self.assertEqual(exit_code, 0)