Merge pull request #3881 from vjpai/uniproto

Move qpstest.proto to a common area (test/proto) instead of test/cpp/qps
diff --git a/src/python/README.md b/src/python/README.md
index afe7c73..a3133b5 100644
--- a/src/python/README.md
+++ b/src/python/README.md
@@ -8,7 +8,7 @@
 
 PREREQUISITES
 -------------
-- Python 2.7, virtualenv, pip
+- python-virtualenv, python-pip, python3-pip, python-dev, python3-dev
 - [homebrew][] on Mac OS X.  These simplify the installation of the gRPC C core.
 
 INSTALLATION
diff --git a/src/ruby/pb/test/client.rb b/src/ruby/pb/test/client.rb
index 164e304..e6d5223 100755
--- a/src/ruby/pb/test/client.rb
+++ b/src/ruby/pb/test/client.rb
@@ -424,12 +424,13 @@
     test_case_list = test_cases.join(',')
     opts.on('--test_case CODE', test_cases, {}, 'select a test_case',
             "  (#{test_case_list})") { |v| args['test_case'] = v }
-    opts.on('-s', '--use_tls', 'require a secure connection?') do |v|
-      args['secure'] = v
+    opts.on('--use_tls USE_TLS', ['false', 'true'],
+            'require a secure connection?') do |v|
+      args['secure'] = v == 'true'
     end
-    opts.on('-t', '--use_test_ca',
+    opts.on('--use_test_ca USE_TEST_CA', ['false', 'true'],
             'if secure, use the test certificate?') do |v|
-      args['use_test_ca'] = v
+      args['use_test_ca'] = v == 'true'
     end
   end.parse!
   _check_args(args)
diff --git a/src/ruby/pb/test/server.rb b/src/ruby/pb/test/server.rb
index 32934f7..25c1b1e 100755
--- a/src/ruby/pb/test/server.rb
+++ b/src/ruby/pb/test/server.rb
@@ -168,8 +168,9 @@
     opts.on('--port PORT', 'server port') do |v|
       options['port'] = v
     end
-    opts.on('-s', '--use_tls', 'require a secure connection?') do |v|
-      options['secure'] = v
+    opts.on('--use_tls USE_TLS', ['false', 'true'],
+            'require a secure connection?') do |v|
+      options['secure'] = v == 'true'
     end
   end.parse!
 
diff --git a/tools/run_tests/run_interop_tests.py b/tools/run_tests/run_interop_tests.py
index f6efd68..61b9faa 100755
--- a/tools/run_tests/run_interop_tests.py
+++ b/tools/run_tests/run_interop_tests.py
@@ -51,19 +51,18 @@
 _CLOUD_TO_PROD_BASE_ARGS = [
     '--server_host_override=grpc-test.sandbox.google.com',
     '--server_host=grpc-test.sandbox.google.com',
-    '--server_port=443']
+    '--server_port=443',
+    '--use_tls=true']
 
 _CLOUD_TO_CLOUD_BASE_ARGS = [
-    '--server_host_override=foo.test.google.fr']
+    '--server_host_override=foo.test.google.fr',
+    '--use_tls=true']
 
 # TOOD(jtattermusch) wrapped languages use this variable for location
 # of roots.pem. We might want to use GRPC_DEFAULT_SSL_ROOTS_FILE_PATH
 # supported by C core SslCredentials instead.
 _SSL_CERT_ENV = { 'SSL_CERT_FILE':'/usr/local/share/grpc/roots.pem' }
 
-# TODO(jtattermusch) unify usage of --use_tls and --use_tls=true
-# TODO(jtattermusch) go uses --tls_ca_file instead of --use_test_ca
-
 
 class CXXLanguage:
 
@@ -74,12 +73,11 @@
     self.safename = 'cxx'
 
   def cloud_to_prod_args(self):
-    return (self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS +
-            ['--use_tls=true'])
+    return self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS
 
   def cloud_to_cloud_args(self):
     return (self.client_cmdline_base + _CLOUD_TO_CLOUD_BASE_ARGS +
-            ['--use_tls=true', '--use_test_ca=true'])
+            ['--use_test_ca=true'])
 
   def cloud_to_prod_env(self):
     return {}
@@ -103,12 +101,11 @@
     self.safename = str(self)
 
   def cloud_to_prod_args(self):
-    return (self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS +
-            ['--use_tls=true'])
+    return self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS
 
   def cloud_to_cloud_args(self):
     return (self.client_cmdline_base + _CLOUD_TO_CLOUD_BASE_ARGS +
-            ['--use_tls=true', '--use_test_ca=true'])
+            ['--use_test_ca=true'])
 
   def cloud_to_prod_env(self):
     return _SSL_CERT_ENV
@@ -132,12 +129,11 @@
     self.safename = str(self)
 
   def cloud_to_prod_args(self):
-    return (self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS +
-            ['--use_tls=true'])
+    return self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS
 
   def cloud_to_cloud_args(self):
     return (self.client_cmdline_base + _CLOUD_TO_CLOUD_BASE_ARGS +
-            ['--use_tls=true', '--use_test_ca=true'])
+            ['--use_test_ca=true'])
 
   def cloud_to_prod_env(self):
     return {}
@@ -162,12 +158,12 @@
     self.safename = str(self)
 
   def cloud_to_prod_args(self):
+    # TODO(jtattermusch) go uses --tls_ca_file instead of --use_test_ca
     return (self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS +
-            ['--use_tls=true', '--tls_ca_file=""'])
+            ['--tls_ca_file=""'])
 
   def cloud_to_cloud_args(self):
-    return (self.client_cmdline_base + _CLOUD_TO_CLOUD_BASE_ARGS +
-            ['--use_tls=true'])
+    return self.client_cmdline_base + _CLOUD_TO_CLOUD_BASE_ARGS
 
   def cloud_to_prod_env(self):
     return {}
@@ -191,12 +187,11 @@
     self.safename = str(self)
 
   def cloud_to_prod_args(self):
-    return (self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS +
-            ['--use_tls=true'])
+    return self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS
 
   def cloud_to_cloud_args(self):
     return (self.client_cmdline_base + _CLOUD_TO_CLOUD_BASE_ARGS +
-            ['--use_tls=true', '--use_test_ca=true'])
+            ['--use_test_ca=true'])
 
   def cloud_to_prod_env(self):
     return _SSL_CERT_ENV
@@ -219,12 +214,11 @@
     self.safename = str(self)
 
   def cloud_to_prod_args(self):
-    return (self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS +
-            ['--use_tls=true'])
+    return self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS
 
   def cloud_to_cloud_args(self):
     return (self.client_cmdline_base + _CLOUD_TO_CLOUD_BASE_ARGS +
-            ['--use_tls=true', '--use_test_ca=true'])
+            ['--use_test_ca=true'])
 
   def cloud_to_prod_env(self):
     return _SSL_CERT_ENV
@@ -245,18 +239,17 @@
     self.safename = str(self)
 
   def cloud_to_prod_args(self):
-    return (self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS +
-            ['--use_tls'])
+    return self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS
 
   def cloud_to_cloud_args(self):
     return (self.client_cmdline_base + _CLOUD_TO_CLOUD_BASE_ARGS +
-            ['--use_tls', '--use_test_ca'])
+            ['--use_test_ca=true'])
 
   def cloud_to_prod_env(self):
     return _SSL_CERT_ENV
 
   def server_args(self):
-    return ['ruby', 'src/ruby/bin/interop/interop_server.rb', '--use_tls']
+    return ['ruby', 'src/ruby/bin/interop/interop_server.rb', '--use_tls=true']
 
   def global_env(self):
     return {}
@@ -274,12 +267,11 @@
     self.safename = str(self)
 
   def cloud_to_prod_args(self):
-    return (self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS +
-            ['--use_tls=true'])
+    return self.client_cmdline_base + _CLOUD_TO_PROD_BASE_ARGS
 
   def cloud_to_cloud_args(self):
     return (self.client_cmdline_base + _CLOUD_TO_CLOUD_BASE_ARGS +
-            ['--use_tls=true', '--use_test_ca=true'])
+            ['--use_test_ca=true'])
 
   def cloud_to_prod_env(self):
     return _SSL_CERT_ENV