Issue #10329: The trace module writes reports using the input Python script
encoding, instead of the locale encoding. Patch written by Alexander Belopolsky.
This commit is contained in:
parent
bb4f218050
commit
64bc3b28a3
|
@ -330,9 +330,10 @@ class CoverageResults:
|
|||
|
||||
source = linecache.getlines(filename)
|
||||
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,
|
||||
lnotab, count)
|
||||
|
||||
lnotab, count, encoding)
|
||||
if summary and n_lines:
|
||||
percent = int(100 * n_hits / n_lines)
|
||||
sums[modulename] = n_lines, percent, modulename, filename
|
||||
|
@ -351,11 +352,11 @@ class CoverageResults:
|
|||
except IOError as err:
|
||||
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."""
|
||||
|
||||
try:
|
||||
outfile = open(path, "w")
|
||||
outfile = open(path, "w", encoding=encoding)
|
||||
except IOError as err:
|
||||
print(("trace: Could not open %r for writing: %s"
|
||||
"- skipping" % (path, err)), file=sys.stderr)
|
||||
|
|
|
@ -65,6 +65,10 @@ Core and Builtins
|
|||
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
|
||||
--enable-shared.
|
||||
|
||||
|
|
Loading…
Reference in New Issue