| Index: tools/telemetry/third_party/coverage/tests/test_pickle2json.py
|
| diff --git a/tools/telemetry/third_party/coverage/tests/test_pickle2json.py b/tools/telemetry/third_party/coverage/tests/test_pickle2json.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..433dade62d415da1b4529625ab927044c2460ea8
|
| --- /dev/null
|
| +++ b/tools/telemetry/third_party/coverage/tests/test_pickle2json.py
|
| @@ -0,0 +1,55 @@
|
| +# 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)
|
|
|