pull/9290/head
Adele Zhou 8 years ago
parent c0d7d67dfb
commit 57b02fcaba
  1. 44
      tools/run_tests/run_interop_tests.py

@ -86,7 +86,7 @@ class CXXLanguage:
return {}
def server_cmd(self, args):
return ['bins/opt/interop_server', '--use_tls=true'] + args
return ['bins/opt/interop_server'] + args
def global_env(self):
return {}
@ -115,7 +115,7 @@ class CSharpLanguage:
return {}
def server_cmd(self, args):
return ['mono', 'Grpc.IntegrationTesting.Server.exe', '--use_tls=true'] + args
return ['mono', 'Grpc.IntegrationTesting.Server.exe'] + args
def global_env(self):
return {}
@ -144,7 +144,7 @@ class CSharpCoreCLRLanguage:
return {}
def server_cmd(self, args):
return ['dotnet', 'exec', 'Grpc.IntegrationTesting.Server.dll', '--use_tls=true'] + args
return ['dotnet', 'exec', 'Grpc.IntegrationTesting.Server.dll'] + args
def global_env(self):
return {}
@ -176,7 +176,7 @@ class JavaLanguage:
return {}
def server_cmd(self, args):
return ['./run-test-server.sh', '--use_tls=true'] + args
return ['./run-test-server.sh'] + args
def global_env(self):
return {}
@ -206,7 +206,7 @@ class GoLanguage:
return {}
def server_cmd(self, args):
return ['go', 'run', 'server.go', '--use_tls=true'] + args
return ['go', 'run', 'server.go'] + args
def global_env(self):
return {}
@ -292,8 +292,7 @@ class NodeLanguage:
def server_cmd(self, args):
return ['tools/run_tests/interop/with_nvm.sh',
'node', 'src/node/interop/interop_server.js',
'--use_tls=true'] + args
'node', 'src/node/interop/interop_server.js'] + args
def global_env(self):
return {}
@ -374,7 +373,7 @@ class RubyLanguage:
def server_cmd(self, args):
return ['tools/run_tests/interop/with_rvm.sh',
'ruby', 'src/ruby/pb/test/server.rb', '--use_tls=true'] + args
'ruby', 'src/ruby/pb/test/server.rb'] + args
def global_env(self):
return {}
@ -419,7 +418,7 @@ class PythonLanguage:
'src/python/grpcio_tests/setup.py',
'run_interop',
'--server',
'--args="{}"'.format(' '.join(args) + ' --use_tls=true')
'--args="{}"'.format(' '.join(args))
]
def global_env(self):
@ -586,11 +585,11 @@ def cloud_to_prod_jobspec(language, test_case, server_host_name,
def cloud_to_cloud_jobspec(language, test_case, server_name, server_host,
server_port, docker_image=None):
server_port, docker_image=None, insecure=False):
"""Creates jobspec for cloud-to-cloud interop test"""
interop_only_options = [
'--server_host_override=foo.test.google.fr',
'--use_tls=true',
'--use_tls=%s' % ('false' if insecure else 'true'),
'--use_test_ca=true',
]
common_options = [
@ -634,11 +633,12 @@ def cloud_to_cloud_jobspec(language, test_case, server_name, server_host,
return test_job
def server_jobspec(language, docker_image):
def server_jobspec(language, docker_image, insecure=False):
"""Create jobspec for running a server"""
container_name = dockerjob.random_name('interop_server_%s' % language.safename)
cmdline = bash_cmdline(
language.server_cmd(['--port=%s' % _DEFAULT_SERVER_PORT]))
language.server_cmd(['--port=%s' % _DEFAULT_SERVER_PORT,
'--use_tls=%s' % ('false' if insecure else 'true')]))
environ = language.global_env()
if language.safename == 'http2':
# we are running the http2 interop server. Open next N ports beginning
@ -803,6 +803,11 @@ argp.add_argument('--http2_badserver_interop',
action='store_const',
const=True,
help='Enable HTTP/2 server edge case testing. (Good client, bad server)')
argp.add_argument('--insecure',
default=False,
action='store_const',
const=True,
help='Whether to use secure channel.')
args = argp.parse_args()
@ -868,7 +873,8 @@ server_addresses={}
try:
for s in servers:
lang = str(s)
spec = server_jobspec(_LANGUAGES[lang], docker_images.get(lang))
spec = server_jobspec(_LANGUAGES[lang], docker_images.get(lang),
args.insecure)
job = dockerjob.DockerJob(spec)
server_jobs[lang] = job
server_addresses[lang] = ('localhost', job.mapped_port(_DEFAULT_SERVER_PORT))
@ -883,6 +889,8 @@ try:
jobs = []
if args.cloud_to_prod:
if args.insecure:
print('TLS is always enabled for cloud_to_prod scenarios.')
for server_host_name in args.prod_servers:
for language in languages:
for test_case in _TEST_CASES:
@ -903,6 +911,8 @@ try:
jobs.append(test_job)
if args.cloud_to_prod_auth:
if args.insecure:
print('TLS is always enabled for cloud_to_prod scenarios.')
for server_host_name in args.prod_servers:
for language in languages:
for test_case in _AUTH_TEST_CASES:
@ -934,7 +944,8 @@ try:
server_name,
server_host,
server_port,
docker_image=docker_images.get(str(language)))
docker_image=docker_images.get(str(language)),
insecure=args.insecure)
jobs.append(test_job)
if args.http2_interop:
@ -947,7 +958,8 @@ try:
server_name,
server_host,
server_port,
docker_image=docker_images.get(str(http2Interop)))
docker_image=docker_images.get(str(http2Interop)),
insecure=args.insecure)
jobs.append(test_job)
if args.http2_badserver_interop:

Loading…
Cancel
Save