diff options
Diffstat (limited to 'Lib/test/test_cmd_line_script.py')
-rw-r--r-- | Lib/test/test_cmd_line_script.py | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/Lib/test/test_cmd_line_script.py b/Lib/test/test_cmd_line_script.py index 6e097e37a4f..86dfc733c11 100644 --- a/Lib/test/test_cmd_line_script.py +++ b/Lib/test/test_cmd_line_script.py @@ -366,11 +366,23 @@ class CmdLineTest(unittest.TestCase): def test_non_utf8(self): # Issue #16218 with temp_dir() as script_dir: - script_name = _make_test_script(script_dir, - '\udcf1\udcea\udcf0\udce8\udcef\udcf2') - self._check_script(script_name, script_name, script_name, - script_dir, None, - importlib.machinery.SourceFileLoader) + script_basename = '\u0441\u043a\u0440\u0438\u043f\u0442' + try: + script_basename.encode(sys.getfilesystemencoding()) + except UnicodeEncodeError: + raise unittest.SkipTest("Filesystem doesn't support " + "unicode names") + source = 'print("test output")\n' + script_name = _make_test_script(script_dir, script_basename, source) + if not __debug__: + run_args = ('-' + 'O' * sys.flags.optimize, script_name) + else: + run_args = (script_name,) + rc, out, _ = assert_python_ok(*run_args) + self.assertEqual(0, rc) + expected = ("test output" + os.linesep).encode('ascii') + self.assertEqual(expected, out) + def test_main(): support.run_unittest(CmdLineTest) |