ref: 15931a1df230523c18cf11189d95c3d1ddc64b07
parent: bda5352bae1904c8b6b3308cd2d7a59106810837
author: Joshua Litt <[email protected]>
date: Fri Apr 4 12:59:04 EDT 2014
Small fixes to script based off of cry-infra Change-Id: I5a65d6fdb27516aefda0473ac45b05186cf0913c
--- a/test/android/scrape_gtest_log.py
+++ b/test/android/scrape_gtest_log.py
@@ -13,16 +13,45 @@
dubious software engineering.
"""
+import getopt
import json
+import os
import re
import sys
def main():
+ if len(sys.argv) != 3:
+ print "Expects a file to write json to!"
+ exit(1)
+
+ try:
+ opts, _ = \
+ getopt.getopt(sys.argv[1:], \
+ 'o:', ['output-json='])
+ except getopt.GetOptError:
+ print 'scrape_gtest_log.py -o <output_json>'
+ sys.exit(2)
+
+ output_json = ''
+ for opt, arg in opts:
+ if opt in ('-o', '--output-json'):
+ output_json = os.path.join(arg)
+
blob = sys.stdin.read()
json_string = '[' + ','.join('{' + x + '}' for x in
re.findall(r'{([^}]*.?)}', blob)) + ']'
- print json.dumps(json.loads(json_string), indent=4, sort_keys=True)
+ print blob
+
+ output = json.dumps(json.loads(json_string), indent=4, sort_keys=True)
+ print output
+
+ path = os.path.dirname(output_json)
+ if path and not os.path.exists(path):
+ os.makedirs(path)
+
+ outfile = open(output_json, 'w')
+ outfile.write(output)
if __name__ == '__main__':
sys.exit(main())