| Index: source/libvpx/test/android/scrape_gtest_log.py
|
| ===================================================================
|
| --- source/libvpx/test/android/scrape_gtest_log.py (revision 0)
|
| +++ source/libvpx/test/android/scrape_gtest_log.py (revision 0)
|
| @@ -0,0 +1,57 @@
|
| +# Copyright (c) 2014 The WebM project authors. All Rights Reserved.
|
| +#
|
| +# Use of this source code is governed by a BSD-style license
|
| +# that can be found in the LICENSE file in the root of the source
|
| +# tree. An additional intellectual property rights grant can be found
|
| +# in the file PATENTS. All contributing project authors may
|
| +# be found in the AUTHORS file in the root of the source tree.
|
| +
|
| +"""Standalone script which parses a gtest log for json.
|
| +
|
| +Json is returned returns as an array. This script is used by the libvpx
|
| +waterfall to gather json results mixed in with gtest logs. This is
|
| +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 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())
|
|
|