aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/run_tests/run_tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/run_tests/run_tests.py')
-rwxr-xr-xtools/run_tests/run_tests.py38
1 files changed, 13 insertions, 25 deletions
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index d874b2a320..4311e53839 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -235,8 +235,10 @@ class CLanguage(object):
self.config = config
self.args = args
if self.platform == 'windows':
- _check_compiler(self.args.compiler, ['default', 'cmake'])
+ _check_compiler(self.args.compiler, ['default', 'cmake', 'cmake_vs2015',
+ 'cmake_vs2017'])
_check_arch(self.args.arch, ['default', 'x64', 'x86'])
+ self._cmake_generator_option = 'Visual Studio 15 2017' if self.args.compiler == 'cmake_vs2017' else 'Visual Studio 14 2015'
self._cmake_arch_option = 'x64' if self.args.arch == 'x64' else 'Win32'
self._use_cmake = True
self._make_options = []
@@ -363,11 +365,13 @@ class CLanguage(object):
'check_epollexclusive']
def make_options(self):
- return self._make_options;
+ return self._make_options
def pre_build_steps(self):
if self.platform == 'windows':
- return [['tools\\run_tests\\helper_scripts\\pre_build_cmake.bat', self._cmake_arch_option]]
+ return [['tools\\run_tests\\helper_scripts\\pre_build_cmake.bat',
+ self._cmake_generator_option,
+ self._cmake_arch_option]]
elif self._use_cmake:
return [['tools/run_tests/helper_scripts/pre_build_cmake.sh']]
else:
@@ -1205,7 +1209,7 @@ argp.add_argument('--compiler',
'node0.12', 'node4', 'node5', 'node6', 'node7', 'node8',
'electron1.3', 'electron1.6',
'coreclr',
- 'cmake'],
+ 'cmake', 'cmake_vs2015', 'cmake_vs2017'],
default='default',
help='Selects compiler to use. Allowed values depend on the platform and language.')
argp.add_argument('--iomgr_platform',
@@ -1364,27 +1368,11 @@ _check_arch_option(args.arch)
def make_jobspec(cfg, targets, makefile='Makefile'):
if platform_string() == 'windows':
- if makefile.startswith('cmake/build/'):
- return [jobset.JobSpec(['cmake', '--build', '.',
- '--target', '%s' % target,
- '--config', _MSBUILD_CONFIG[cfg]],
- cwd=os.path.dirname(makefile),
- timeout_seconds=None) for target in targets]
- extra_args = []
- # better do parallel compilation
- # empirically /m:2 gives the best performance/price and should prevent
- # overloading the windows workers.
- extra_args.extend(['/m:2'])
- # disable PDB generation: it's broken, and we don't need it during CI
- extra_args.extend(['/p:Jenkins=true'])
- return [
- jobset.JobSpec([_windows_build_bat(args.compiler),
- 'vsprojects\\%s.sln' % target,
- '/p:Configuration=%s' % _MSBUILD_CONFIG[cfg]] +
- extra_args +
- language_make_options,
- shell=True, timeout_seconds=None)
- for target in targets]
+ return [jobset.JobSpec(['cmake', '--build', '.',
+ '--target', '%s' % target,
+ '--config', _MSBUILD_CONFIG[cfg]],
+ cwd=os.path.dirname(makefile),
+ timeout_seconds=None) for target in targets]
else:
if targets and makefile.startswith('cmake/build/'):
# With cmake, we've passed all the build configuration in the pre-build step already