summaryrefslogtreecommitdiff
path: root/Lib/trace.py
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2020-06-28 03:52:26 -0700
committerGitHub <noreply@github.com>2020-06-28 03:52:26 -0700
commitd1e05e78a3995fd7e5a79c5c6e4c8160aa48af22 (patch)
tree64204b9e8968f0eed6c0d0487187c1fb030d33d6 /Lib/trace.py
parent1497bf66f9b043e6db3801b1512cfbdeaaaa6650 (diff)
downloadcpython-git-d1e05e78a3995fd7e5a79c5c6e4c8160aa48af22.tar.gz
bpo-41138: Fix trace CLI for non-UTF-8 files. (GH-21177)
Fix also a resource warning when store counts and module info. (cherry picked from commit 04cdeb7a5617c48102f45b965e683b12cdf934f8) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Diffstat (limited to 'Lib/trace.py')
-rwxr-xr-xLib/trace.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/Lib/trace.py b/Lib/trace.py
index 52047c3fbf..c505d8bc72 100755
--- a/Lib/trace.py
+++ b/Lib/trace.py
@@ -287,8 +287,9 @@ class CoverageResults:
if self.outfile:
# try and store counts and module info into self.outfile
try:
- pickle.dump((self.counts, self.calledfuncs, self.callers),
- open(self.outfile, 'wb'), 1)
+ with open(self.outfile, 'wb') as f:
+ pickle.dump((self.counts, self.calledfuncs, self.callers),
+ f, 1)
except OSError as err:
print("Can't save counts files because %s" % err, file=sys.stderr)
@@ -715,7 +716,7 @@ def main():
sys.argv = [opts.progname, *opts.arguments]
sys.path[0] = os.path.dirname(opts.progname)
- with open(opts.progname) as fp:
+ with open(opts.progname, 'rb') as fp:
code = compile(fp.read(), opts.progname, 'exec')
# try to emulate __main__ namespace as much as possible
globs = {