Issue #16218: Fix test for issue again

This commit is contained in:
Andrew Svetlov 2012-11-05 08:20:15 +02:00
parent 33f13ee133
commit 7529620a15
1 changed files with 19 additions and 18 deletions

View File

@ -363,25 +363,26 @@ class CmdLineTest(unittest.TestCase):
self.assertTrue(text[1].startswith(' File '))
self.assertTrue(text[3].startswith('NameError'))
def test_non_utf8(self):
def test_non_ascii(self):
# Issue #16218
with temp_dir() as script_dir:
script_basename = '\u0441\u043a\u0440\u0438\u043f\u0442'
# non-ascii filename encodable to cp1252, cp932, latin1 and utf8
filename = support.TESTFN + '\xa3.py'
try:
script_basename.encode(sys.getfilesystemencoding())
os.fsencode(filename)
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.skipTest(
"Filesystem encoding %r cannot encode "
"the filename: %a"
% (sys.getfilesystemencoding(), filename))
source = 'print(ascii(__file__))\n'
script_name = _make_test_script(os.curdir, filename, source)
self.addCleanup(support.unlink, script_name)
rc, stdout, stderr = assert_python_ok(script_name)
self.assertEqual(
ascii(script_name),
stdout.rstrip().decode('ascii'),
'stdout=%r stderr=%r' % (stdout, stderr))
self.assertEqual(0, rc)
expected = ("test output" + os.linesep).encode('ascii')
self.assertEqual(expected, out)
def test_main():