Kaydet (Commit) 58f3c9dc authored tarafından Mariatta's avatar Mariatta Kaydeden (comit) GitHub

bpo-30109: Fix reindent.py (GH-1207)

Skip the file if it has bad encoding.
üst 6dbdedb0
......@@ -7,6 +7,7 @@ Tools directory of a Python checkout or tarball, such as reindent.py.
import os
import unittest
from test.support.script_helper import assert_python_ok
from test.support import findfile
from test.test_tools import scriptsdir, skip_if_missing
......@@ -23,6 +24,12 @@ class ReindentTests(unittest.TestCase):
self.assertEqual(out, b'')
self.assertGreater(err, b'')
def test_reindent_file_with_bad_encoding(self):
bad_coding_path = findfile('bad_coding.py')
rc, out, err = assert_python_ok(self.script, '-r', bad_coding_path)
self.assertEqual(out, b'')
self.assertNotEqual(err, b'')
if __name__ == '__main__':
unittest.main()
......@@ -118,7 +118,11 @@ def check(file):
if verbose:
print("checking", file, "...", end=' ')
with open(file, 'rb') as f:
encoding, _ = tokenize.detect_encoding(f.readline)
try:
encoding, _ = tokenize.detect_encoding(f.readline)
except SyntaxError as se:
errprint("%s: SyntaxError: %s" % (file, str(se)))
return
try:
with open(file, encoding=encoding) as f:
r = Reindenter(f)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment