diff -r ce6a6cc3765d Lib/test/test_readline.py --- a/Lib/test/test_readline.py Tue Dec 20 22:52:33 2016 +0800 +++ b/Lib/test/test_readline.py Tue Dec 20 20:27:28 2016 +0100 @@ -141,6 +141,10 @@ readline.add_history("\xEB\xEF") except UnicodeEncodeError as err: self.skipTest("Locale cannot encode test data: " + format(err)) + output = run_pty(None, + 'import sys; print("\xEB"); sys.exit()\r'.encode()) + if output.decode().strip('\r\n')[-1] != '\xEB': + self.skipTest('readline does not handle multi bytes characters') script = r"""import readline @@ -215,7 +219,10 @@ pty = import_module('pty') output = bytearray() [master, slave] = pty.openpty() - args = (sys.executable, '-c', script) + if script: + args = (sys.executable, '-c', script) + else: + args = (sys.executable, '-q') proc = subprocess.Popen(args, stdin=slave, stdout=slave, stderr=slave) os.close(slave) with ExitStack() as cleanup: