mirror of https://github.com/python/cpython
bpo-43651: PEP 597: Fix EncodingWarning in some tests (GH-25142)
* test__xxsubinterpreters * test_builtin * test_doctest * test_exceptions * test_opcodes * test_support * test_argparse * test_baseexception * test_bdb * test_bool * test_asdl_parser
This commit is contained in:
parent
bef7b26f72
commit
8bbfeb3330
|
@ -25,11 +25,11 @@ def _captured_script(script):
|
||||||
indented = script.replace('\n', '\n ')
|
indented = script.replace('\n', '\n ')
|
||||||
wrapped = dedent(f"""
|
wrapped = dedent(f"""
|
||||||
import contextlib
|
import contextlib
|
||||||
with open({w}, 'w') as spipe:
|
with open({w}, 'w', encoding="utf-8") as spipe:
|
||||||
with contextlib.redirect_stdout(spipe):
|
with contextlib.redirect_stdout(spipe):
|
||||||
{indented}
|
{indented}
|
||||||
""")
|
""")
|
||||||
return wrapped, open(r)
|
return wrapped, open(r, encoding="utf-8")
|
||||||
|
|
||||||
|
|
||||||
def _run_output(interp, request, shared=None):
|
def _run_output(interp, request, shared=None):
|
||||||
|
@ -45,7 +45,7 @@ def _running(interp):
|
||||||
def run():
|
def run():
|
||||||
interpreters.run_string(interp, dedent(f"""
|
interpreters.run_string(interp, dedent(f"""
|
||||||
# wait for "signal"
|
# wait for "signal"
|
||||||
with open({r}) as rpipe:
|
with open({r}, encoding="utf-8") as rpipe:
|
||||||
rpipe.read()
|
rpipe.read()
|
||||||
"""))
|
"""))
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ def _running(interp):
|
||||||
|
|
||||||
yield
|
yield
|
||||||
|
|
||||||
with open(w, 'w') as spipe:
|
with open(w, 'w', encoding="utf-8") as spipe:
|
||||||
spipe.write('done')
|
spipe.write('done')
|
||||||
t.join()
|
t.join()
|
||||||
|
|
||||||
|
@ -806,7 +806,7 @@ class RunStringTests(TestBase):
|
||||||
@unittest.skipUnless(hasattr(os, 'fork'), "test needs os.fork()")
|
@unittest.skipUnless(hasattr(os, 'fork'), "test needs os.fork()")
|
||||||
def test_fork(self):
|
def test_fork(self):
|
||||||
import tempfile
|
import tempfile
|
||||||
with tempfile.NamedTemporaryFile('w+') as file:
|
with tempfile.NamedTemporaryFile('w+', encoding="utf-8") as file:
|
||||||
file.write('')
|
file.write('')
|
||||||
file.flush()
|
file.flush()
|
||||||
|
|
||||||
|
@ -816,7 +816,7 @@ class RunStringTests(TestBase):
|
||||||
try:
|
try:
|
||||||
os.fork()
|
os.fork()
|
||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
with open('{file.name}', 'w') as out:
|
with open('{file.name}', 'w', encoding='utf-8') as out:
|
||||||
out.write('{expected}')
|
out.write('{expected}')
|
||||||
""")
|
""")
|
||||||
interpreters.run_string(self.id, script)
|
interpreters.run_string(self.id, script)
|
||||||
|
|
|
@ -45,7 +45,7 @@ class TempDirMixin(object):
|
||||||
|
|
||||||
def create_readonly_file(self, filename):
|
def create_readonly_file(self, filename):
|
||||||
file_path = os.path.join(self.temp_dir, filename)
|
file_path = os.path.join(self.temp_dir, filename)
|
||||||
with open(file_path, 'w') as file:
|
with open(file_path, 'w', encoding="utf-8") as file:
|
||||||
file.write(filename)
|
file.write(filename)
|
||||||
os.chmod(file_path, stat.S_IREAD)
|
os.chmod(file_path, stat.S_IREAD)
|
||||||
|
|
||||||
|
@ -1468,7 +1468,7 @@ class TestArgumentsFromFile(TempDirMixin, ParserTestCase):
|
||||||
('invalid', '@no-such-path\n'),
|
('invalid', '@no-such-path\n'),
|
||||||
]
|
]
|
||||||
for path, text in file_texts:
|
for path, text in file_texts:
|
||||||
with open(path, 'w') as file:
|
with open(path, 'w', encoding="utf-8") as file:
|
||||||
file.write(text)
|
file.write(text)
|
||||||
|
|
||||||
parser_signature = Sig(fromfile_prefix_chars='@')
|
parser_signature = Sig(fromfile_prefix_chars='@')
|
||||||
|
@ -1498,7 +1498,7 @@ class TestArgumentsFromFileConverter(TempDirMixin, ParserTestCase):
|
||||||
('hello', 'hello world!\n'),
|
('hello', 'hello world!\n'),
|
||||||
]
|
]
|
||||||
for path, text in file_texts:
|
for path, text in file_texts:
|
||||||
with open(path, 'w') as file:
|
with open(path, 'w', encoding="utf-8") as file:
|
||||||
file.write(text)
|
file.write(text)
|
||||||
|
|
||||||
class FromFileConverterArgumentParser(ErrorRaisingArgumentParser):
|
class FromFileConverterArgumentParser(ErrorRaisingArgumentParser):
|
||||||
|
@ -1580,7 +1580,8 @@ class TestFileTypeR(TempDirMixin, ParserTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestFileTypeR, self).setUp()
|
super(TestFileTypeR, self).setUp()
|
||||||
for file_name in ['foo', 'bar']:
|
for file_name in ['foo', 'bar']:
|
||||||
with open(os.path.join(self.temp_dir, file_name), 'w') as file:
|
with open(os.path.join(self.temp_dir, file_name),
|
||||||
|
'w', encoding="utf-8") as file:
|
||||||
file.write(file_name)
|
file.write(file_name)
|
||||||
self.create_readonly_file('readonly')
|
self.create_readonly_file('readonly')
|
||||||
|
|
||||||
|
@ -1601,7 +1602,7 @@ class TestFileTypeDefaults(TempDirMixin, ParserTestCase):
|
||||||
"""Test that a file is not created unless the default is needed"""
|
"""Test that a file is not created unless the default is needed"""
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestFileTypeDefaults, self).setUp()
|
super(TestFileTypeDefaults, self).setUp()
|
||||||
file = open(os.path.join(self.temp_dir, 'good'), 'w')
|
file = open(os.path.join(self.temp_dir, 'good'), 'w', encoding="utf-8")
|
||||||
file.write('good')
|
file.write('good')
|
||||||
file.close()
|
file.close()
|
||||||
|
|
||||||
|
@ -1620,7 +1621,8 @@ class TestFileTypeRB(TempDirMixin, ParserTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
super(TestFileTypeRB, self).setUp()
|
super(TestFileTypeRB, self).setUp()
|
||||||
for file_name in ['foo', 'bar']:
|
for file_name in ['foo', 'bar']:
|
||||||
with open(os.path.join(self.temp_dir, file_name), 'w') as file:
|
with open(os.path.join(self.temp_dir, file_name),
|
||||||
|
'w', encoding="utf-8") as file:
|
||||||
file.write(file_name)
|
file.write(file_name)
|
||||||
|
|
||||||
argument_signatures = [
|
argument_signatures = [
|
||||||
|
|
|
@ -28,8 +28,9 @@ class ExceptionClassTests(unittest.TestCase):
|
||||||
except TypeError:
|
except TypeError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
inheritance_tree = open(os.path.join(os.path.split(__file__)[0],
|
inheritance_tree = open(
|
||||||
'exception_hierarchy.txt'))
|
os.path.join(os.path.split(__file__)[0], 'exception_hierarchy.txt'),
|
||||||
|
encoding="utf-8")
|
||||||
try:
|
try:
|
||||||
superclass_name = inheritance_tree.readline().rstrip()
|
superclass_name = inheritance_tree.readline().rstrip()
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -539,7 +539,7 @@ def create_modules(modules):
|
||||||
try:
|
try:
|
||||||
for m in modules:
|
for m in modules:
|
||||||
fname = m + '.py'
|
fname = m + '.py'
|
||||||
with open(fname, 'w') as f:
|
with open(fname, 'w', encoding="utf-8") as f:
|
||||||
f.write(textwrap.dedent(modules[m]))
|
f.write(textwrap.dedent(modules[m]))
|
||||||
linecache.checkcache(fname)
|
linecache.checkcache(fname)
|
||||||
importlib.invalidate_caches()
|
importlib.invalidate_caches()
|
||||||
|
|
|
@ -235,7 +235,7 @@ class BoolTest(unittest.TestCase):
|
||||||
|
|
||||||
def test_fileclosed(self):
|
def test_fileclosed(self):
|
||||||
try:
|
try:
|
||||||
with open(os_helper.TESTFN, "w") as f:
|
with open(os_helper.TESTFN, "w", encoding="utf-8") as f:
|
||||||
self.assertIs(f.closed, False)
|
self.assertIs(f.closed, False)
|
||||||
self.assertIs(f.closed, True)
|
self.assertIs(f.closed, True)
|
||||||
finally:
|
finally:
|
||||||
|
|
|
@ -1159,7 +1159,7 @@ class BuiltinTest(unittest.TestCase):
|
||||||
|
|
||||||
def write_testfile(self):
|
def write_testfile(self):
|
||||||
# NB the first 4 lines are also used to test input, below
|
# NB the first 4 lines are also used to test input, below
|
||||||
fp = open(TESTFN, 'w')
|
fp = open(TESTFN, 'w', encoding="utf-8")
|
||||||
self.addCleanup(unlink, TESTFN)
|
self.addCleanup(unlink, TESTFN)
|
||||||
with fp:
|
with fp:
|
||||||
fp.write('1+1\n')
|
fp.write('1+1\n')
|
||||||
|
@ -1171,7 +1171,7 @@ class BuiltinTest(unittest.TestCase):
|
||||||
|
|
||||||
def test_open(self):
|
def test_open(self):
|
||||||
self.write_testfile()
|
self.write_testfile()
|
||||||
fp = open(TESTFN, 'r')
|
fp = open(TESTFN, encoding="utf-8")
|
||||||
with fp:
|
with fp:
|
||||||
self.assertEqual(fp.readline(4), '1+1\n')
|
self.assertEqual(fp.readline(4), '1+1\n')
|
||||||
self.assertEqual(fp.readline(), 'The quick brown fox jumps over the lazy dog.\n')
|
self.assertEqual(fp.readline(), 'The quick brown fox jumps over the lazy dog.\n')
|
||||||
|
@ -1197,6 +1197,8 @@ class BuiltinTest(unittest.TestCase):
|
||||||
|
|
||||||
self.write_testfile()
|
self.write_testfile()
|
||||||
current_locale_encoding = locale.getpreferredencoding(False)
|
current_locale_encoding = locale.getpreferredencoding(False)
|
||||||
|
with warnings.catch_warnings():
|
||||||
|
warnings.simplefilter("ignore", EncodingWarning)
|
||||||
fp = open(TESTFN, 'w')
|
fp = open(TESTFN, 'w')
|
||||||
with fp:
|
with fp:
|
||||||
self.assertEqual(fp.encoding, current_locale_encoding)
|
self.assertEqual(fp.encoding, current_locale_encoding)
|
||||||
|
@ -1205,7 +1207,7 @@ class BuiltinTest(unittest.TestCase):
|
||||||
os.environ.update(old_environ)
|
os.environ.update(old_environ)
|
||||||
|
|
||||||
def test_open_non_inheritable(self):
|
def test_open_non_inheritable(self):
|
||||||
fileobj = open(__file__)
|
fileobj = open(__file__, encoding="utf-8")
|
||||||
with fileobj:
|
with fileobj:
|
||||||
self.assertFalse(os.get_inheritable(fileobj.fileno()))
|
self.assertFalse(os.get_inheritable(fileobj.fileno()))
|
||||||
|
|
||||||
|
@ -1300,7 +1302,7 @@ class BuiltinTest(unittest.TestCase):
|
||||||
|
|
||||||
def test_input(self):
|
def test_input(self):
|
||||||
self.write_testfile()
|
self.write_testfile()
|
||||||
fp = open(TESTFN, 'r')
|
fp = open(TESTFN, encoding="utf-8")
|
||||||
savestdin = sys.stdin
|
savestdin = sys.stdin
|
||||||
savestdout = sys.stdout # Eats the echo
|
savestdout = sys.stdout # Eats the echo
|
||||||
try:
|
try:
|
||||||
|
@ -2022,7 +2024,7 @@ class PtyTests(unittest.TestCase):
|
||||||
os.write(fd, terminal_input)
|
os.write(fd, terminal_input)
|
||||||
|
|
||||||
# Get results from the pipe
|
# Get results from the pipe
|
||||||
with open(r, "r") as rpipe:
|
with open(r, encoding="utf-8") as rpipe:
|
||||||
lines = []
|
lines = []
|
||||||
while True:
|
while True:
|
||||||
line = rpipe.readline().strip()
|
line = rpipe.readline().strip()
|
||||||
|
|
|
@ -2846,7 +2846,7 @@ the verbose version, and then check the output:
|
||||||
>>> from test.support.os_helper import temp_dir
|
>>> from test.support.os_helper import temp_dir
|
||||||
>>> with temp_dir() as tmpdir:
|
>>> with temp_dir() as tmpdir:
|
||||||
... fn = os.path.join(tmpdir, 'myfile.doc')
|
... fn = os.path.join(tmpdir, 'myfile.doc')
|
||||||
... with open(fn, 'w') as f:
|
... with open(fn, 'w', encoding='utf-8') as f:
|
||||||
... _ = f.write('This is a very simple test file.\n')
|
... _ = f.write('This is a very simple test file.\n')
|
||||||
... _ = f.write(' >>> 1 + 1\n')
|
... _ = f.write(' >>> 1 + 1\n')
|
||||||
... _ = f.write(' 2\n')
|
... _ = f.write(' 2\n')
|
||||||
|
@ -2898,7 +2898,7 @@ text files).
|
||||||
>>> from test.support.os_helper import temp_dir
|
>>> from test.support.os_helper import temp_dir
|
||||||
>>> with temp_dir() as tmpdir:
|
>>> with temp_dir() as tmpdir:
|
||||||
... fn = os.path.join(tmpdir, 'myfile.doc')
|
... fn = os.path.join(tmpdir, 'myfile.doc')
|
||||||
... with open(fn, 'w') as f:
|
... with open(fn, 'w', encoding="utf-8") as f:
|
||||||
... _ = f.write('This is another simple test file.\n')
|
... _ = f.write('This is another simple test file.\n')
|
||||||
... _ = f.write(' >>> 1 + 1\n')
|
... _ = f.write(' >>> 1 + 1\n')
|
||||||
... _ = f.write(' 2\n')
|
... _ = f.write(' 2\n')
|
||||||
|
@ -2909,7 +2909,7 @@ text files).
|
||||||
... _ = f.write('\n')
|
... _ = f.write('\n')
|
||||||
... _ = f.write('And that is it.\n')
|
... _ = f.write('And that is it.\n')
|
||||||
... fn2 = os.path.join(tmpdir, 'myfile2.py')
|
... fn2 = os.path.join(tmpdir, 'myfile2.py')
|
||||||
... with open(fn2, 'w') as f:
|
... with open(fn2, 'w', encoding='utf-8') as f:
|
||||||
... _ = f.write('def test_func():\n')
|
... _ = f.write('def test_func():\n')
|
||||||
... _ = f.write(' \"\"\"\n')
|
... _ = f.write(' \"\"\"\n')
|
||||||
... _ = f.write(' This is simple python test function.\n')
|
... _ = f.write(' This is simple python test function.\n')
|
||||||
|
|
|
@ -54,9 +54,9 @@ class ExceptionTests(unittest.TestCase):
|
||||||
self.assertRaises(AttributeError, getattr, sys, "undefined_attribute")
|
self.assertRaises(AttributeError, getattr, sys, "undefined_attribute")
|
||||||
|
|
||||||
self.raise_catch(EOFError, "EOFError")
|
self.raise_catch(EOFError, "EOFError")
|
||||||
fp = open(TESTFN, 'w')
|
fp = open(TESTFN, 'w', encoding="utf-8")
|
||||||
fp.close()
|
fp.close()
|
||||||
fp = open(TESTFN, 'r')
|
fp = open(TESTFN, 'r', encoding="utf-8")
|
||||||
savestdin = sys.stdin
|
savestdin = sys.stdin
|
||||||
try:
|
try:
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -24,7 +24,7 @@ class OpcodeTest(unittest.TestCase):
|
||||||
def test_setup_annotations_line(self):
|
def test_setup_annotations_line(self):
|
||||||
# check that SETUP_ANNOTATIONS does not create spurious line numbers
|
# check that SETUP_ANNOTATIONS does not create spurious line numbers
|
||||||
try:
|
try:
|
||||||
with open(ann_module.__file__) as f:
|
with open(ann_module.__file__, encoding="utf-8") as f:
|
||||||
txt = f.read()
|
txt = f.read()
|
||||||
co = compile(txt, ann_module.__file__, 'exec')
|
co = compile(txt, ann_module.__file__, 'exec')
|
||||||
self.assertEqual(co.co_firstlineno, 1)
|
self.assertEqual(co.co_firstlineno, 1)
|
||||||
|
|
|
@ -47,7 +47,7 @@ class TestSupport(unittest.TestCase):
|
||||||
self.assertNotIn("sched", sys.modules)
|
self.assertNotIn("sched", sys.modules)
|
||||||
|
|
||||||
def test_unlink(self):
|
def test_unlink(self):
|
||||||
with open(TESTFN, "w") as f:
|
with open(TESTFN, "w", encoding="utf-8") as f:
|
||||||
pass
|
pass
|
||||||
os_helper.unlink(TESTFN)
|
os_helper.unlink(TESTFN)
|
||||||
self.assertFalse(os.path.exists(TESTFN))
|
self.assertFalse(os.path.exists(TESTFN))
|
||||||
|
@ -79,7 +79,7 @@ class TestSupport(unittest.TestCase):
|
||||||
|
|
||||||
def test_forget(self):
|
def test_forget(self):
|
||||||
mod_filename = TESTFN + '.py'
|
mod_filename = TESTFN + '.py'
|
||||||
with open(mod_filename, 'w') as f:
|
with open(mod_filename, 'w', encoding="utf-8") as f:
|
||||||
print('foo = 1', file=f)
|
print('foo = 1', file=f)
|
||||||
sys.path.insert(0, os.curdir)
|
sys.path.insert(0, os.curdir)
|
||||||
importlib.invalidate_caches()
|
importlib.invalidate_caches()
|
||||||
|
|
|
@ -204,7 +204,7 @@ def check(mod):
|
||||||
|
|
||||||
def parse(filename):
|
def parse(filename):
|
||||||
"""Parse ASDL from the given file and return a Module node describing it."""
|
"""Parse ASDL from the given file and return a Module node describing it."""
|
||||||
with open(filename) as f:
|
with open(filename, encoding="utf-8") as f:
|
||||||
parser = ASDLParser()
|
parser = ASDLParser()
|
||||||
return parser.parse(f.read())
|
return parser.parse(f.read())
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue