diff options
-rwxr-xr-x | tools/sharding_supervisor/sharding_supervisor.py | 60 |
1 files changed, 58 insertions, 2 deletions
diff --git a/tools/sharding_supervisor/sharding_supervisor.py b/tools/sharding_supervisor/sharding_supervisor.py index 3cd335e..6414a37 100755 --- a/tools/sharding_supervisor/sharding_supervisor.py +++ b/tools/sharding_supervisor/sharding_supervisor.py @@ -3,8 +3,64 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -from sharding_supervisor_old import * # pylint: disable=W0401,W0614 +"""Defer to run_test_cases.py.""" +import os +import optparse +import sys -if __name__ == "__main__": +ROOT_DIR = os.path.dirname( + os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + + +def pop_gtest_output(args): + """Extracts --gtest_output from the args if present.""" + for index, arg in enumerate(args): + if arg.startswith('--gtest_output='): + return args.pop(index) + + +def main(): + parser = optparse.OptionParser() + + group = optparse.OptionGroup( + parser, 'Compability flag with the old sharding_supervisor') + group.add_option( + '--no-color', action='store_true', help='Ignored') + group.add_option( + '--retry-failed', action='store_true', help='Ignored') + group.add_option( + '-t', '--timeout', type='int', help='Kept as --timeout') + group.add_option( + '--total-slaves', type='int', default=1, help='Converted to --index') + group.add_option( + '--slave-index', type='int', default=0, help='Converted to --shards') + parser.add_option_group(group) + + parser.disable_interspersed_args() + options, args = parser.parse_args() + + swarm_client_dir = os.path.join(ROOT_DIR, 'tools', 'swarm_client') + sys.path.insert(0, swarm_client_dir) + + cmd = [ + '--shards', str(options.total_slaves), + '--index', str(options.slave_index), + '--no-dump', + '--no-cr', + ] + if options.timeout is not None: + cmd.extend(['--timeout', str(options.timeout)]) + gtest_output = pop_gtest_output(args) + if gtest_output: + # It is important that --gtest_output appears before the '--' so it is + # properly processed by run_test_cases. + cmd.append(gtest_output) + + import run_test_cases # pylint: disable=F0401 + + return run_test_cases.main(cmd + ['--'] + args) + + +if __name__ == '__main__': sys.exit(main()) |