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.py51
1 files changed, 40 insertions, 11 deletions
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index 0c270fa77e..3d73f9ec0e 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -61,7 +61,7 @@ _FORCE_ENVIRON_FOR_WRAPPERS = {
}
_POLLING_STRATEGIES = {
- 'linux': ['epollex', 'epollsig', 'epoll1', 'poll', 'poll-cv'],
+ 'linux': ['epollex', 'epoll1', 'poll', 'poll-cv'],
'mac': ['poll'],
}
@@ -490,6 +490,14 @@ class CLanguage(object):
return 'Makefile'
def _clang_make_options(self, version_suffix=''):
+ if self.args.config == 'ubsan':
+ return [
+ 'CC=clang%s' % version_suffix,
+ 'CXX=clang++%s' % version_suffix,
+ 'LD=clang++%s' % version_suffix,
+ 'LDXX=clang++%s' % version_suffix
+ ]
+
return [
'CC=clang%s' % version_suffix,
'CXX=clang++%s' % version_suffix,
@@ -531,6 +539,10 @@ class CLanguage(object):
elif compiler == 'clang3.7':
return ('ubuntu1604',
self._clang_make_options(version_suffix='-3.7'))
+ elif compiler == 'clang7.0':
+ # clang++-7.0 alias doesn't exist and there are no other clang versions
+ # installed.
+ return ('sanitizers_jessie', self._clang_make_options())
else:
raise Exception('Compiler %s not supported.' % compiler)
@@ -871,7 +883,7 @@ class RubyLanguage(object):
tests.append(
self.config.job_spec(
['tools/run_tests/helper_scripts/run_ruby_end2end_tests.sh'],
- timeout_seconds=10 * 60,
+ timeout_seconds=20 * 60,
environ=_FORCE_ENVIRON_FOR_WRAPPERS))
return tests
@@ -1102,6 +1114,12 @@ class ObjCLanguage(object):
'SCHEME': 'SwiftSample',
'EXAMPLE_PATH': 'src/objective-c/examples/SwiftSample'
}),
+ self.config.job_spec(
+ ['test/core/iomgr/ios/CFStreamTests/run_tests.sh'],
+ timeout_seconds=10 * 60,
+ shortname='cfstream-tests',
+ cpu_cost=1e6,
+ environ=_FORCE_ENVIRON_FOR_WRAPPERS),
]
def pre_build_steps(self):
@@ -1114,7 +1132,10 @@ class ObjCLanguage(object):
return []
def build_steps(self):
- return [['src/objective-c/tests/build_tests.sh']]
+ return [
+ ['src/objective-c/tests/build_tests.sh'],
+ ['test/core/iomgr/ios/CFStreamTests/build_tests.sh'],
+ ]
def post_tests_steps(self):
return []
@@ -1343,10 +1364,10 @@ argp.add_argument(
'--compiler',
choices=[
'default', 'gcc4.4', 'gcc4.6', 'gcc4.8', 'gcc4.9', 'gcc5.3', 'gcc7.2',
- 'gcc_musl', 'clang3.4', 'clang3.5', 'clang3.6', 'clang3.7', 'python2.7',
- 'python3.4', 'python3.5', 'python3.6', 'pypy', 'pypy3', 'python_alpine',
- 'all_the_cpythons', 'electron1.3', 'electron1.6', 'coreclr', 'cmake',
- 'cmake_vs2015', 'cmake_vs2017'
+ 'gcc_musl', 'clang3.4', 'clang3.5', 'clang3.6', 'clang3.7', 'clang7.0',
+ 'python2.7', 'python3.4', 'python3.5', 'python3.6', 'pypy', 'pypy3',
+ 'python_alpine', 'all_the_cpythons', 'electron1.3', 'electron1.6',
+ 'coreclr', 'cmake', 'cmake_vs2015', 'cmake_vs2017'
],
default='default',
help=
@@ -1409,7 +1430,7 @@ argp.add_argument(
default=None,
type=str,
help='Only use the specified comma-delimited list of polling engines. '
- 'Example: --force_use_pollers epollsig,poll '
+ 'Example: --force_use_pollers epoll1,poll '
' (This flag has no effect if --force_default_poller flag is also used)')
argp.add_argument(
'--max_time', default=-1, type=int, help='Maximum test runtime in seconds')
@@ -1490,7 +1511,7 @@ else:
lang_list = args.language
# We don't support code coverage on some languages
if 'gcov' in args.config:
- for bad in ['objc', 'sanity']:
+ for bad in ['grpc-node', 'objc', 'sanity']:
if bad in lang_list:
lang_list.remove(bad)
@@ -1800,8 +1821,16 @@ def _build_and_run(check_cancelled,
for antagonist in antagonists:
antagonist.kill()
if args.bq_result_table and resultset:
- upload_results_to_bq(resultset, args.bq_result_table, args,
- platform_string())
+ upload_extra_fields = {
+ 'compiler': args.compiler,
+ 'config': args.config,
+ 'iomgr_platform': args.iomgr_platform,
+ 'language': args.language[
+ 0], # args.language is a list but will always have one element when uploading to BQ is enabled.
+ 'platform': platform_string()
+ }
+ upload_results_to_bq(resultset, args.bq_result_table,
+ upload_extra_fields)
if xml_report and resultset:
report_utils.render_junit_xml_report(
resultset, xml_report, suite_name=args.report_suite_name)