| Index: trychange.py
|
| diff --git a/trychange.py b/trychange.py
|
| index 4dc3beb831bbcd9b196c3c1962ae3186dfa5522c..9df39f0b04de08d079c7a5201391f8f457264106 100755
|
| --- a/trychange.py
|
| +++ b/trychange.py
|
| @@ -313,10 +313,18 @@ def _ParseSendChangeOptions(options):
|
| if options.project:
|
| values.append(('project', options.project))
|
|
|
| - for bot in options.bot:
|
| - values.append(('bot', bot))
|
| - for t in options.testfilter:
|
| - values.append(('testfilter', t))
|
| + filters = ','.join(options.testfilter)
|
| + if filters:
|
| + for bot in options.bot:
|
| + if ':' in bot:
|
| + raise ValueError(
|
| + 'Can\'t use both --testfilter and --bot builder:test formats '
|
| + 'at the same time')
|
| + else:
|
| + values.append(('bot', '%s:%s' % (bot, filters)))
|
| + else:
|
| + for bot in options.bot:
|
| + values.append(('bot', bot))
|
| return values
|
|
|
|
|
| @@ -488,27 +496,11 @@ def GetMungedDiff(path_diff, diff):
|
| return (diff, changed_files)
|
|
|
|
|
| -def TryChange(argv,
|
| - change,
|
| - swallow_exception,
|
| - prog=None,
|
| - extra_epilog=None):
|
| - """
|
| - Args:
|
| - argv: Arguments and options.
|
| - change: Change instance corresponding to the CL.
|
| - swallow_exception: Whether we raise or swallow exceptions.
|
| - """
|
| +def gen_parser(prog):
|
| # Parse argv
|
| parser = optparse.OptionParser(usage=USAGE,
|
| version=__version__,
|
| prog=prog)
|
| - epilog = EPILOG % { 'prog': prog }
|
| - if extra_epilog:
|
| - epilog += extra_epilog
|
| - parser.epilog = epilog
|
| - # Remove epilog formatting
|
| - parser.format_epilog = lambda x: parser.epilog
|
| parser.add_option("-v", "--verbose", action="count", default=0,
|
| help="Prints debugging infos")
|
| group = optparse.OptionGroup(parser, "Result and status")
|
| @@ -636,6 +628,27 @@ def TryChange(argv,
|
| help="SVN url to use to write the changes in; --use_svn is "
|
| "implied when using --svn_repo")
|
| parser.add_option_group(group)
|
| + return parser
|
| +
|
| +
|
| +def TryChange(argv,
|
| + change,
|
| + swallow_exception,
|
| + prog=None,
|
| + extra_epilog=None):
|
| + """
|
| + Args:
|
| + argv: Arguments and options.
|
| + change: Change instance corresponding to the CL.
|
| + swallow_exception: Whether we raise or swallow exceptions.
|
| + """
|
| + parser = gen_parser(prog)
|
| + epilog = EPILOG % { 'prog': prog }
|
| + if extra_epilog:
|
| + epilog += extra_epilog
|
| + parser.epilog = epilog
|
| + # Remove epilog formatting
|
| + parser.format_epilog = lambda x: parser.epilog
|
|
|
| options, args = parser.parse_args(argv)
|
|
|
|
|