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

Unified Diff: build/android/test_wrapper/test_runner_wrapper.py

Issue 2163833003: Logdog for logcats (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments cont. Created 4 years, 5 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: build/android/test_wrapper/test_runner_wrapper.py
diff --git a/build/android/test_wrapper/test_runner_wrapper.py b/build/android/test_wrapper/test_runner_wrapper.py
new file mode 100755
index 0000000000000000000000000000000000000000..e32210b30b1e840b3429194c5a36f5d2703cdc25
--- /dev/null
+++ b/build/android/test_wrapper/test_runner_wrapper.py
@@ -0,0 +1,63 @@
+#!/usr/bin/env python
jbudorick 2016/07/29 00:52:39 This name is too generic. If this wrapper is speci
nicholaslin 2016/07/29 20:50:20 Done. Should the folder be renamed as well?
+# Copyright 2016 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import argparse
+import sys
+import os
+import subprocess
+import logging
+
+
+def CommandParser():
+ # Parses the command line arguments being passed in
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--logdog-bin-cmd',
+ help=('Command for running logdog butler binary'))
ghost stip (do not use) 2016/07/29 01:09:08 you don't need the parens here. it can be just hel
ghost stip (do not use) 2016/07/29 01:09:08 required=True IIUC, all of these should be requir
nicholaslin 2016/07/29 20:50:19 Done.
nicholaslin 2016/07/29 20:50:20 I'll make logdog arguments required. I was think
+ parser.add_argument('--project',
+ help=('Name of logdog project'))
+ parser.add_argument('--output',
ghost stip (do not use) 2016/07/29 01:09:08 nit: rework the --output flag to just be server na
nicholaslin 2016/07/29 20:50:20 Done.
+ help=('Format of logdog output'))
+ parser.add_argument('--service-account-json',
+ help=('Location of authentication json'))
+ parser.add_argument('--prefix',
+ help=('Prefix to be used for logdog stream'))
+ parser.add_argument('--source',
+ help=('Location of file for logdog to stream'))
+ parser.add_argument('--name',
+ help=('Name to be used for logdog stream'))
+ return parser
+
+
+def CreateUrl(project, prefix, name):
+ url_prefix = prefix.replace('/', '%2F')
+ return ('https://luci-logdog-dev.appspot.com/v/?s=%s%%2F'
ghost stip (do not use) 2016/07/29 01:09:08 use args.logdog_server as specified above
nicholaslin 2016/07/29 20:50:20 Done.
+ '%s%%2F%%2B%%2F%s' % (project, url_prefix, name))
+
+
+def main():
+ parser = CommandParser()
+ args, test_cmd = parser.parse_known_args(sys.argv[1:])
ghost stip (do not use) 2016/07/29 01:09:08 if not test_cmd: parser.error('must specify a co
nicholaslin 2016/07/29 20:50:20 Done.
+ if args.logdog_bin_cmd:
jbudorick 2016/07/29 00:52:40 When would we use this wrapper without a logdog_bi
ghost stip (do not use) 2016/07/29 01:09:07 should make required in the parser
nicholaslin 2016/07/29 20:50:20 I'll rework this file to only consider the case wh
+ subprocess.check_call(test_cmd)
+ if '${SWARMING_TASK_ID}' in args.prefix:
+ args.prefix = args.prefix.replace('${SWARMING_TASK_ID}',
+ os.environ.get('SWARMING_TASK_ID'))
jbudorick 2016/07/29 00:52:40 nit: indentation is off here. either indent to the
nicholaslin 2016/07/29 20:50:20 Done.
+ url = CreateUrl(args.project, args.prefix, args.name)
+ logging.info('Logcats are located at: %s', url)
+ logdog_cmd = [args.logdog_bin_cmd, '-project', args.project,
+ '-output', args.output, '-prefix', args.prefix]
ghost stip (do not use) 2016/07/29 01:09:08 '-output', 'logdog,host=%s' % args.logdog_server,
nicholaslin 2016/07/29 20:50:20 Done.
+ stream_cmd = ['stream', '-source', args.source, '-stream',
+ ('-name=%s'% args.name)]
jbudorick 2016/07/29 00:52:40 nits: no parens, space before %
nicholaslin 2016/07/29 20:50:20 Done.
+ if args.service_account_json:
nicholaslin 2016/07/29 20:50:20 Requiring all logdog arguments, so taking this par
+ cmd = (logdog_cmd + ['-service-account-json', args.service_account_json]
+ + stream_cmd)
+ else:
+ cmd = logdog_cmd + stream_cmd
+ return subprocess.call(cmd)
+ return subprocess.call(test_cmd)
+
+
+if __name__ == '__main__':
+ sys.exit(main())

Powered by Google App Engine
This is Rietveld 408576698