Merge "Small fixes to script based off of cry-infra"

This commit is contained in:
Joshua Litt 2014-04-07 14:43:56 -07:00 committed by Gerrit Code Review
commit 01aae92dcf

View File

@ -13,16 +13,45 @@ waterfall to gather json results mixed in with gtest logs. This is
dubious software engineering. dubious software engineering.
""" """
import getopt
import json import json
import os
import re import re
import sys import sys
def main(): 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() blob = sys.stdin.read()
json_string = '[' + ','.join('{' + x + '}' for x in json_string = '[' + ','.join('{' + x + '}' for x in
re.findall(r'{([^}]*.?)}', blob)) + ']' 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__': if __name__ == '__main__':
sys.exit(main()) sys.exit(main())