| Index: testing/legion/tools/legion.py
|
| diff --git a/testing/legion/tools/legion.py b/testing/legion/tools/legion.py
|
| index 7170f2c6f852bd65bc80765565e2ebff5e85e5ec..85073a913c9931e8880a97fed07f0ab7007f4251 100755
|
| --- a/testing/legion/tools/legion.py
|
| +++ b/testing/legion/tools/legion.py
|
| @@ -52,7 +52,7 @@ class ArgumentError(Error):
|
| pass
|
|
|
|
|
| -def GetArgs():
|
| +def GetArgs(cmd_args):
|
| parser = argparse.ArgumentParser(description=__doc__)
|
| parser.add_argument('action', choices=['run', 'trigger'],
|
| help='The swarming action to perform.')
|
| @@ -82,7 +82,7 @@ def GetArgs():
|
| 'are in the form of --controller-var name value and are '
|
| 'passed to the controller as --name value.')
|
| parser.add_argument('-v', '--verbosity', default=0, action='count')
|
| - return parser.parse_args()
|
| + return parser.parse_args(cmd_args)
|
|
|
|
|
| def RunCommand(cmd, stream_stdout=False):
|
| @@ -116,7 +116,7 @@ def Archive(isolated, isolate_server):
|
| return RunCommand(cmd).split()[0] # The isolated hash
|
|
|
|
|
| -def GetSwarmingCommandLine(args):
|
| +def GetSwarmingCommandLine(args, extra_args):
|
| """Builds and returns the command line for swarming.py run|trigger."""
|
| cmd = [
|
| sys.executable,
|
| @@ -133,14 +133,17 @@ def GetSwarmingCommandLine(args):
|
| cmd.extend(['--dimension', name, value])
|
|
|
| cmd.append('--')
|
| -
|
| + cmd.extend(extra_args)
|
| cmd.extend(['--swarming-server', args.swarming_server])
|
| cmd.extend(['--isolate-server', args.isolate_server])
|
| # Specify the output dir
|
| cmd.extend(['--output-dir', '${ISOLATED_OUTDIR}'])
|
| # Task name/hash values
|
| for name, isolated in args.tasks:
|
| - cmd.extend(['--' + name, Archive(isolated, args.isolate_server)])
|
| + if args.format_only:
|
| + cmd.extend(['--' + name, isolated + '_test_only'])
|
| + else:
|
| + cmd.extend(['--' + name, Archive(isolated, args.isolate_server)])
|
| # Test controller args
|
| for name, value in args.controller_vars:
|
| cmd.extend(['--' + name, value])
|
| @@ -149,7 +152,14 @@ def GetSwarmingCommandLine(args):
|
|
|
|
|
| def main():
|
| - args = GetArgs()
|
| + if '--' not in sys.argv:
|
| + cmd_args = sys.argv[1:]
|
| + extra_args = []
|
| + else:
|
| + index = sys.argv.index('--')
|
| + cmd_args = sys.argv[1:index]
|
| + extra_args = sys.argv[index+1:]
|
| + args = GetArgs(cmd_args)
|
| if not args.swarming_server:
|
| raise ArgumentError('Missing required argument: --swarming-server')
|
| if not args.isolate_server:
|
| @@ -158,7 +168,7 @@ def main():
|
| format='%(asctime)s %(filename)s:%(lineno)s %(levelname)s] %(message)s',
|
| datefmt='%H:%M:%S',
|
| level=LOGGING_LEVELS[len(LOGGING_LEVELS)-args.verbosity-1])
|
| - cmd = GetSwarmingCommandLine(args)
|
| + cmd = GetSwarmingCommandLine(args, extra_args)
|
| if not args.format_only:
|
| RunCommand(cmd, True)
|
| return 0
|
|
|