diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2015-07-23 09:44:54 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2015-07-23 09:44:54 -0400 |
commit | 247febd261e53d2643121c5f7daa9dbd8243f019 (patch) | |
tree | 17023514f7fac6a8feae35f0a7077fbf9faf923d /coverage/data.py | |
parent | 35efab14e990d392e783fcd7b5f10f90c515c5dd (diff) | |
download | python-coveragepy-git-247febd261e53d2643121c5f7daa9dbd8243f019.tar.gz |
The data file now has a warning in it, and is not pure JSON.
Diffstat (limited to 'coverage/data.py')
-rw-r--r-- | coverage/data.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/coverage/data.py b/coverage/data.py index 71f915d6..26fee484 100644 --- a/coverage/data.py +++ b/coverage/data.py @@ -232,10 +232,16 @@ class CoverageData(object): ) ) + GO_AWAY = "!coverage.py: This is a private format, don't read it directly!" + @classmethod def _open_for_reading(cls, filename): """Open a file appropriately for reading data.""" - return open(filename, "r") + f = open(filename, "r") + go_away = f.read(len(cls.GO_AWAY)) + if go_away != cls.GO_AWAY: + raise CoverageException("Doesn't seem to be a coverage.py data file") + return f @classmethod def _read_raw_data(cls, file_obj): @@ -331,6 +337,7 @@ class CoverageData(object): file_data['plugins'] = self._plugins # Write the data to the file. + file_obj.write(self.GO_AWAY) json.dump(file_data, file_obj) def write_file(self, filename): |