Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 #!/usr/bin/env python | |
| 2 # Copyright 2016 The Chromium Authors. All rights reserved. | |
| 3 # Use of this source code is governed by a BSD-style license that can be | |
| 4 # found in the LICENSE file. | |
| 5 | |
| 6 import argparse | |
| 7 import sys | |
| 8 import os | |
| 9 import subprocess | |
| 10 import logging | |
| 11 | |
|
ghost stip (do not use)
2016/07/27 01:14:18
nit: two newlines before top level declarations
nicholaslin
2016/07/27 19:08:06
Done.
| |
| 12 def CommandParser(): | |
| 13 # Parses the command line arguments being passed in | |
| 14 parser = argparse.ArgumentParser() | |
| 15 parser.add_argument('--test-runner-command', | |
|
ghost stip (do not use)
2016/07/27 01:14:17
so I think we have to redo this a bit. we should s
nicholaslin
2016/07/27 19:08:06
Do we need a test_command argument? Placing all lo
ghost stip (do not use)
2016/07/29 01:09:07
I'd prefer using the named positional argument and
| |
| 16 help=('Command line arguments to run android tests')) | |
| 17 parser.add_argument('--logdog-command', | |
| 18 help=('Logdog command line arguments')) | |
| 19 return parser | |
| 20 | |
|
ghost stip (do not use)
2016/07/27 01:14:17
newline
nicholaslin
2016/07/27 19:08:05
Done.
| |
| 21 def LogdogParser(): | |
| 22 # Parses the useful logdog flags for generating the URL | |
| 23 # This includes the project, prefix, and name flags | |
| 24 parser = argparse.ArgumentParser() | |
| 25 parser.add_argument('-project') | |
|
ghost stip (do not use)
2016/07/27 01:14:17
add help here, maybe just saying "passed to logdog
nicholaslin
2016/07/27 19:08:05
Specifying the logdog args in the CommandParser ma
| |
| 26 parser.add_argument('-prefix') | |
| 27 parser.add_argument('-name') | |
| 28 return parser | |
| 29 | |
|
ghost stip (do not use)
2016/07/27 01:14:17
newline
nicholaslin
2016/07/27 19:08:06
Done.
| |
| 30 def CreateUrl(project, prefix, name): | |
| 31 url_prefix = prefix.replace('/', '%2F') | |
| 32 url = ('https://luci-logdog-dev.appspot.com/v/?s={0}%2F' | |
|
ghost stip (do not use)
2016/07/27 01:14:18
we use % instead of .format():
url = ('https://lu
nicholaslin
2016/07/27 19:08:06
Done.
| |
| 33 '{1}%2F%2B%2F{2}').format(project, url_prefix, name) | |
| 34 return url | |
|
ghost stip (do not use)
2016/07/27 01:14:17
can just make this return ('https://' ....) instea
nicholaslin
2016/07/27 19:08:06
Done.
| |
| 35 | |
|
ghost stip (do not use)
2016/07/27 01:14:18
newline
nicholaslin
2016/07/27 19:08:06
Done.
| |
| 36 def main(): | |
| 37 parser = CommandParser() | |
| 38 args, extra_args = parser.parse_known_args(sys.argv[1:]) | |
| 39 test_cmd = args.test_runner_command.split() + extra_args | |
| 40 if args.logdog_command: | |
| 41 subprocess.check_call(test_cmd) | |
| 42 cmd = args.logdog_command | |
| 43 if '${SWARMING_TASK_ID}' in cmd: | |
|
ghost stip (do not use)
2016/07/27 01:14:17
weird, but does give you flexibility in mb.py. I'l
| |
| 44 cmd = cmd.replace('${SWARMING_TASK_ID}', | |
| 45 os.environ.get('SWARMING_TASK_ID')) | |
| 46 cmd = cmd.split() | |
|
ghost stip (do not use)
2016/07/27 01:14:17
this is going to sound nuts but I think we should
nicholaslin
2016/07/27 19:08:06
The new command parser specifies all logdog argume
ghost stip (do not use)
2016/07/29 01:09:07
nope, this was leftover from an older review pass.
| |
| 47 logdog_parser = LogdogParser() | |
| 48 url_args = logdog_parser.parse_known_args(cmd)[0] | |
| 49 logging.basicConfig(level=logging.DEBUG) | |
|
ghost stip (do not use)
2016/07/27 01:14:18
remove lines 49 and 50
nicholaslin
2016/07/27 19:08:06
Done.
| |
| 50 logging.info("NOTE: below arguments are for streaming logcats to logdog") | |
| 51 url = CreateUrl(url_args.project, url_args.prefix, url_args.name) | |
| 52 logging.info('Logcats are located at: %s', url) | |
| 53 return subprocess.call(cmd) | |
| 54 return subprocess.call(test_cmd) | |
| 55 | |
| 56 if __name__ == '__main__': | |
| 57 sys.exit(main()) | |
| OLD | NEW |