aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorGravatar Jan Tattermusch <jan.tattermusch@gmail.com>2016-01-20 09:13:09 -0800
committerGravatar Jan Tattermusch <jtattermusch@google.com>2016-01-20 15:17:07 -0800
commitc895fe0558483067039b39a63749afde49dd754e (patch)
treef2a0792c74e9af446d0a6beb9215064b65d9fd85 /tools
parentf423b061101ba64514d67e7f601b6c30401d64b8 (diff)
enable running c# tests on mac
Diffstat (limited to 'tools')
-rwxr-xr-xtools/run_tests/run_tests.py43
1 files changed, 42 insertions, 1 deletions
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index c1f1576378..61f345f26c 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -178,6 +178,9 @@ class CLanguage(object):
return ['buildtests_%s' % self.make_target]
return ['buildtests_%s' % self.make_target, 'tools_%s' % self.make_target]
+ def make_options(self):
+ return []
+
def pre_build_steps(self):
if self.platform == 'windows':
return [['tools\\run_tests\\pre_build_c.bat']]
@@ -216,6 +219,9 @@ class NodeLanguage(object):
def make_targets(self, test_regex):
return []
+ def make_options(self):
+ return []
+
def build_steps(self):
return [['tools/run_tests/build_node.sh']]
@@ -244,6 +250,9 @@ class PhpLanguage(object):
def make_targets(self, test_regex):
return ['static_c', 'shared_c']
+ def make_options(self):
+ return []
+
def build_steps(self):
return [['tools/run_tests/build_php.sh']]
@@ -283,6 +292,9 @@ class PythonLanguage(object):
def make_targets(self, test_regex):
return ['static_c', 'grpc_python_plugin', 'shared_c']
+ def make_options(self):
+ return []
+
def build_steps(self):
commands = []
for python_version in self._build_python_versions:
@@ -322,6 +334,9 @@ class RubyLanguage(object):
def make_targets(self, test_regex):
return ['static_c']
+ def make_options(self):
+ return []
+
def build_steps(self):
return [['tools/run_tests/build_ruby.sh']]
@@ -394,6 +409,13 @@ class CSharpLanguage(object):
else:
return ['grpc_csharp_ext']
+ def make_options(self):
+ if self.platform == 'mac':
+ # On Mac, official distribution of mono is 32bit.
+ return ['CFLAGS=-arch i386', 'LDFLAGS=-arch i386']
+ else:
+ return []
+
def build_steps(self):
if self.platform == 'windows':
return [['src\\csharp\\buildall.bat']]
@@ -425,6 +447,9 @@ class ObjCLanguage(object):
def make_targets(self, test_regex):
return ['grpc_objective_c_plugin', 'interop_server']
+ def make_options(self):
+ return []
+
def build_steps(self):
return [['src/objective-c/tests/build_tests.sh']]
@@ -455,6 +480,9 @@ class Sanity(object):
def make_targets(self, test_regex):
return ['run_dep_checks']
+ def make_options(self):
+ return []
+
def build_steps(self):
return []
@@ -482,6 +510,9 @@ class Build(object):
def make_targets(self, test_regex):
return ['static']
+ def make_options(self):
+ return []
+
def build_steps(self):
return []
@@ -749,6 +780,14 @@ if len(build_configs) > 1:
print language, 'does not support multiple build configurations'
sys.exit(1)
+language_make_options=[]
+if any(language.make_options() for language in languages):
+ if len(languages) != 1:
+ print 'languages with custom make options cannot be built simultaneously with other languages'
+ sys.exit(1)
+ else:
+ 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
@@ -772,7 +811,8 @@ if platform_string() == 'windows':
'/p:Configuration=%s' % _WINDOWS_CONFIG[cfg],
_windows_toolset_option(args.compiler),
_windows_arch_option(args.arch)] +
- extra_args,
+ extra_args +
+ language_make_options,
shell=True, timeout_seconds=None)
for target in targets]
else:
@@ -783,6 +823,7 @@ else:
'-j', '%d' % (multiprocessing.cpu_count() + 1),
'EXTRA_DEFINES=GRPC_TEST_SLOWDOWN_MACHINE_FACTOR=%f' % args.slowdown,
'CONFIG=%s' % cfg] +
+ language_make_options +
([] if not args.travis else ['JENKINS_BUILD=1']) +
targets,
timeout_seconds=None)]