1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- # Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
- # For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
- """Tests for coverage.pickle2json"""
- from coverage.backward import pickle, iitems
- from coverage.data import CoverageData
- from coverage.pickle2json import pickle2json
- from tests.coveragetest import CoverageTest
- from tests.test_data import DataTestHelpers, LINES_1, ARCS_3
- class Pickle2JsonTestInTempDir(DataTestHelpers, CoverageTest):
- """Tests pickle2json.py."""
- no_files_in_temp_dir = True
- def write_pickled_file(self, covdata, filename):
- """Write coverage data as pickled `filename`."""
- # Create the file data.
- file_data = {}
- if covdata._arcs:
- file_data['arcs'] = dict((f, list(amap)) for f, amap in iitems(covdata._arcs))
- else:
- file_data['lines'] = dict((f, list(lmap)) for f, lmap in iitems(covdata._lines))
- # Write the pickle to the file.
- with open(filename, 'wb') as file_obj:
- pickle.dump(file_data, file_obj, 2)
- def test_read_write_lines_pickle(self):
- # Test the old pickle format.
- covdata1 = CoverageData()
- covdata1.add_lines(LINES_1)
- self.write_pickled_file(covdata1, "lines.pkl")
- pickle2json("lines.pkl", "lines.json")
- covdata2 = CoverageData()
- covdata2.read_file("lines.json")
- self.assert_lines1_data(covdata2)
- def test_read_write_arcs_pickle(self):
- # Test the old pickle format.
- covdata1 = CoverageData()
- covdata1.add_arcs(ARCS_3)
- self.write_pickled_file(covdata1, "arcs.pkl")
- pickle2json("arcs.pkl", "arcs.json")
- covdata2 = CoverageData()
- covdata2.read_file("arcs.json")
- self.assert_arcs3_data(covdata2)
|