| 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())
 | 
| 
 |