better arch support
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index 4529f4e..7d3a638 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -538,12 +538,12 @@
def _windows_arch_option(arch):
"""Returns msbuild cmdline option for selected architecture."""
- if arch == 'default' or arch == 'windows_x86':
+ if arch == 'default' or arch == 'x86':
return '/p:Platform=Win32'
- elif arch == 'windows_x64':
+ elif arch == 'x64':
return '/p:Platform=x64'
else:
- print 'Architecture %s not supported on current platform.' % arch
+ print 'Architecture %s not supported.' % arch
sys.exit(1)
@@ -573,15 +573,15 @@
sys.exit(1)
-def _get_dockerfile_dir():
+def _get_dockerfile_dir(arch):
"""Returns dockerfile to use"""
- #TODO: don't depend on env var.
- arch_env = os.getenv('arch')
- if arch_env == 'i386':
+ if arch == 'default' or arch == 'x64':
+ return 'tools/jenkins/grpc_jenkins_slave'
+ elif arch == 'x86':
return 'tools/jenkins/grpc_jenkins_slave_32bits'
else:
- # TODO: support 32_bit dockerfile as well
- return 'tools/jenkins/grpc_jenkins_slave'
+ print 'Architecture %s not supported with current settings.' % arch
+ sys.exit(1)
def runs_per_test_type(arg_str):
"""Auxilary function to parse the "runs_per_test" flag.
@@ -648,7 +648,7 @@
const=True,
help='Allow flaky tests to show as passing (re-runs failed tests up to five times)')
argp.add_argument('--arch',
- choices=['default', 'windows_x86', 'windows_x64'],
+ choices=['default', 'x86', 'x64'],
default='default',
help='Selects architecture to target. For some platforms "default" is the only supported choice.')
argp.add_argument('--compiler',
@@ -736,9 +736,10 @@
language_make_options = next(iter(languages)).make_options()
if platform_string() != 'windows':
- if args.arch != 'default':
- print 'Architecture %s not supported on current platform.' % args.arch
- sys.exit(1)
+ if args.arch != 'default' and platform_string() != 'linux':
+ # TODO: check if the current arch is correct
+ print 'Architecture %s not supported on current platform.' % args.arch
+ sys.exit(1)
if args.compiler != 'default':
print 'Compiler %s not supported on current platform.' % args.compiler
sys.exit(1)
@@ -759,16 +760,9 @@
child_argv = [ arg for arg in sys.argv if not arg == '--use_docker' ]
run_tests_cmd = 'tools/run_tests/run_tests.py %s' % ' '.join(child_argv[1:])
- # TODO(jtattermusch): revisit if we need special handling for arch here
- # set arch command prefix in case we are working with different arch.
- arch_env = os.getenv('arch')
- if arch_env:
- run_test_cmd = 'arch %s %s' % (arch_env, run_test_cmd)
-
env = os.environ.copy()
env['RUN_TESTS_COMMAND'] = run_tests_cmd
- # TODO: also support 32-bit, figure out the dockerfile properly
- env['DOCKERFILE_DIR'] = _get_dockerfile_dir()
+ env['DOCKERFILE_DIR'] = _get_dockerfile_dir(args.arch)
env['DOCKER_RUN_SCRIPT'] = 'tools/jenkins/docker_run_tests.sh'
if args.xml_report:
env['XML_REPORT'] = args.xml_report