| Index: tools/telemetry/third_party/coverage/coverage/pickle2json.py
|
| diff --git a/tools/telemetry/third_party/coverage/coverage/pickle2json.py b/tools/telemetry/third_party/coverage/coverage/pickle2json.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..95b42ef370457d717185670764675d305101a1fd
|
| --- /dev/null
|
| +++ b/tools/telemetry/third_party/coverage/coverage/pickle2json.py
|
| @@ -0,0 +1,47 @@
|
| +# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
|
| +# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
|
| +
|
| +"""Convert pickle to JSON for coverage.py."""
|
| +
|
| +from coverage.backward import pickle
|
| +from coverage.data import CoverageData
|
| +
|
| +
|
| +def pickle_read_raw_data(cls_unused, file_obj):
|
| + """Replacement for CoverageData._read_raw_data."""
|
| + return pickle.load(file_obj)
|
| +
|
| +
|
| +def pickle2json(infile, outfile):
|
| + """Convert a coverage.py 3.x pickle data file to a 4.x JSON data file."""
|
| + try:
|
| + old_read_raw_data = CoverageData._read_raw_data
|
| + CoverageData._read_raw_data = pickle_read_raw_data
|
| +
|
| + covdata = CoverageData()
|
| +
|
| + with open(infile, 'rb') as inf:
|
| + covdata.read_fileobj(inf)
|
| +
|
| + covdata.write_file(outfile)
|
| + finally:
|
| + CoverageData._read_raw_data = old_read_raw_data
|
| +
|
| +
|
| +if __name__ == "__main__":
|
| + from optparse import OptionParser
|
| +
|
| + parser = OptionParser(usage="usage: %s [options]" % __file__)
|
| + parser.description = "Convert .coverage files from pickle to JSON format"
|
| + parser.add_option(
|
| + "-i", "--input-file", action="store", default=".coverage",
|
| + help="Name of input file. Default .coverage",
|
| + )
|
| + parser.add_option(
|
| + "-o", "--output-file", action="store", default=".coverage",
|
| + help="Name of output file. Default .coverage",
|
| + )
|
| +
|
| + (options, args) = parser.parse_args()
|
| +
|
| + pickle2json(options.input_file, options.output_file)
|
|
|