Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(228)

Unified Diff: tools/telemetry/third_party/coverage/coverage/pickle2json.py

Issue 1366913004: Add coverage Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)
« no previous file with comments | « tools/telemetry/third_party/coverage/coverage/phystokens.py ('k') | tools/telemetry/third_party/coverage/coverage/plugin.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698