Kaydet (Commit) 64bc3b28 authored tarafından Victor Stinner's avatar Victor Stinner

Issue #10329: The trace module writes reports using the input Python script

encoding, instead of the locale encoding. Patch written by Alexander
Belopolsky.
üst bb4f2180
...@@ -330,9 +330,10 @@ class CoverageResults: ...@@ -330,9 +330,10 @@ class CoverageResults:
source = linecache.getlines(filename) source = linecache.getlines(filename)
coverpath = os.path.join(dir, modulename + ".cover") coverpath = os.path.join(dir, modulename + ".cover")
with open(filename, 'rb') as fp:
encoding, _ = tokenize.detect_encoding(fp.readline)
n_hits, n_lines = self.write_results_file(coverpath, source, n_hits, n_lines = self.write_results_file(coverpath, source,
lnotab, count) lnotab, count, encoding)
if summary and n_lines: if summary and n_lines:
percent = int(100 * n_hits / n_lines) percent = int(100 * n_hits / n_lines)
sums[modulename] = n_lines, percent, modulename, filename sums[modulename] = n_lines, percent, modulename, filename
...@@ -351,11 +352,11 @@ class CoverageResults: ...@@ -351,11 +352,11 @@ class CoverageResults:
except IOError as err: except IOError as err:
print("Can't save counts files because %s" % err, file=sys.stderr) print("Can't save counts files because %s" % err, file=sys.stderr)
def write_results_file(self, path, lines, lnotab, lines_hit): def write_results_file(self, path, lines, lnotab, lines_hit, encoding=None):
"""Return a coverage results file in path.""" """Return a coverage results file in path."""
try: try:
outfile = open(path, "w") outfile = open(path, "w", encoding=encoding)
except IOError as err: except IOError as err:
print(("trace: Could not open %r for writing: %s" print(("trace: Could not open %r for writing: %s"
"- skipping" % (path, err)), file=sys.stderr) "- skipping" % (path, err)), file=sys.stderr)
......
...@@ -65,6 +65,10 @@ Core and Builtins ...@@ -65,6 +65,10 @@ Core and Builtins
Library Library
------- -------
- Issue #10329: The trace module writes reports using the input Python script
encoding, instead of the locale encoding. Patch written by Alexander
Belopolsky.
- Issue #10126: Fix distutils' test_build when Python was built with - Issue #10126: Fix distutils' test_build when Python was built with
--enable-shared. --enable-shared.
......
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