Open results files, which contain binary pickles, in binary mode.

Remove fallback code that tries to read marshal data from a results
file, since this module never writes marshal data.
This commit is contained in:
Jeremy Hylton 2003-10-14 20:12:06 +00:00
parent c2a2832bee
commit d0e2705f3f

View File

@ -204,13 +204,11 @@ class CoverageResults:
if self.infile:
# Try to merge existing counts file.
try:
counts, calledfuncs = pickle.load(open(self.infile, 'r'))
counts, calledfuncs = pickle.load(open(self.infile, 'rb'))
self.update(self.__class__(counts, calledfuncs))
except (IOError, EOFError, ValueError), err:
print >> sys.stderr, ("Skipping counts file %r: %s"
% (self.infile, err))
except pickle.UnpicklingError:
self.update(self.__class__(marshal.load(open(self.infile))))
def update(self, other):
"""Merge in the data from another CoverageResults"""
@ -288,7 +286,7 @@ class CoverageResults:
# try and store counts and module info into self.outfile
try:
pickle.dump((self.counts, self.calledfuncs),
open(self.outfile, 'w'), 1)
open(self.outfile, 'wb'), 1)
except IOError, err:
print >> sys.stderr, "Can't save counts files because %s" % err