aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--tools/dockerfile/test/cxx_jessie_x64/Dockerfile8
-rwxr-xr-xtools/run_tests/run_tests.py4
-rwxr-xr-xtools/run_tests/run_tests_matrix.py32
3 files changed, 30 insertions, 14 deletions
diff --git a/tools/dockerfile/test/cxx_jessie_x64/Dockerfile b/tools/dockerfile/test/cxx_jessie_x64/Dockerfile
index 67cee19914..b9216571ef 100644
--- a/tools/dockerfile/test/cxx_jessie_x64/Dockerfile
+++ b/tools/dockerfile/test/cxx_jessie_x64/Dockerfile
@@ -115,6 +115,14 @@ RUN cd llvm-build && cmake \
../llvm
RUN make -C llvm-build -j 12 && make -C llvm-build install && rm -rf llvm-build
+#================
+# libuv
+RUN cd /tmp \
+ && wget http://dist.libuv.org/dist/v1.9.1/libuv-v1.9.1.tar.gz \
+ && tar -xf libuv-v1.9.1.tar.gz \
+ && cd libuv-v1.9.1 \
+ && sh autogen.sh && ./configure --prefix=/usr && make && make install
+
# Prepare ccache
RUN ln -s /usr/bin/ccache /usr/local/bin/gcc
RUN ln -s /usr/bin/ccache /usr/local/bin/g++
diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py
index e8818d77e0..a146ac8f66 100755
--- a/tools/run_tests/run_tests.py
+++ b/tools/run_tests/run_tests.py
@@ -207,11 +207,11 @@ class CLanguage(object):
cflags = '-DGRPC_UV '
try:
cflags += subprocess.check_output(['pkg-config', '--cflags', 'libuv']).strip() + ' '
- except subprocess.CalledProcessError:
+ except (subprocess.CalledProcessError, OSError):
pass
try:
ldflags = subprocess.check_output(['pkg-config', '--libs', 'libuv']).strip() + ' '
- except subprocess.CalledProcessError:
+ except (subprocess.CalledProcessError, OSError):
ldflags = '-luv '
self._make_options += ['EXTRA_CPPFLAGS={}'.format(cflags),
'EXTRA_LDLIBS={}'.format(ldflags)]
diff --git a/tools/run_tests/run_tests_matrix.py b/tools/run_tests/run_tests_matrix.py
index a94f9cfef5..ca459fbdbd 100755
--- a/tools/run_tests/run_tests_matrix.py
+++ b/tools/run_tests/run_tests_matrix.py
@@ -111,28 +111,28 @@ def _create_test_jobs(extra_args=[]):
platforms=['linux'],
labels=['basictests'],
extra_args=extra_args)
-
+
# supported on all platforms.
test_jobs += _generate_jobs(languages=['c', 'csharp', 'node', 'python'],
configs=['dbg', 'opt'],
platforms=['linux', 'macos', 'windows'],
labels=['basictests'],
extra_args=extra_args)
-
+
# supported on linux and mac.
test_jobs += _generate_jobs(languages=['c++', 'ruby', 'php'],
configs=['dbg', 'opt'],
platforms=['linux', 'macos'],
labels=['basictests'],
extra_args=extra_args)
-
+
# supported on mac only.
test_jobs += _generate_jobs(languages=['objc'],
configs=['dbg', 'opt'],
platforms=['macos'],
labels=['basictests'],
extra_args=extra_args)
-
+
# sanitizers
test_jobs += _generate_jobs(languages=['c'],
configs=['msan', 'asan', 'tsan'],
@@ -144,9 +144,17 @@ def _create_test_jobs(extra_args=[]):
platforms=['linux'],
labels=['sanitizers'],
extra_args=extra_args)
+
+ # libuv tests
+ test_jobs += _generate_jobs(languages=['c'],
+ configs=['dbg', 'opt'],
+ platforms=['linux'],
+ labels=['libuv'],
+ extra_args=extra_args + ['--iomgr_platform=uv'])
+
return test_jobs
-
+
def _create_portability_test_jobs(extra_args=[]):
test_jobs = []
# portability C x86
@@ -157,7 +165,7 @@ def _create_portability_test_jobs(extra_args=[]):
compiler='default',
labels=['portability'],
extra_args=extra_args)
-
+
# portability C and C++ on x64
for compiler in ['gcc4.4', 'gcc4.6', 'gcc5.3',
'clang3.5', 'clang3.6', 'clang3.7']:
@@ -168,7 +176,7 @@ def _create_portability_test_jobs(extra_args=[]):
compiler=compiler,
labels=['portability'],
extra_args=extra_args)
-
+
# portability C on Windows
for arch in ['x86', 'x64']:
for compiler in ['vs2013', 'vs2015']:
@@ -179,7 +187,7 @@ def _create_portability_test_jobs(extra_args=[]):
compiler=compiler,
labels=['portability'],
extra_args=extra_args)
-
+
test_jobs += _generate_jobs(languages=['python'],
configs=['dbg'],
platforms=['linux'],
@@ -187,7 +195,7 @@ def _create_portability_test_jobs(extra_args=[]):
compiler='python3.4',
labels=['portability'],
extra_args=extra_args)
-
+
test_jobs += _generate_jobs(languages=['csharp'],
configs=['dbg'],
platforms=['linux'],
@@ -195,7 +203,7 @@ def _create_portability_test_jobs(extra_args=[]):
compiler='coreclr',
labels=['portability'],
extra_args=extra_args)
- return test_jobs
+ return test_jobs
def _allowed_labels():
@@ -248,12 +256,12 @@ if not jobs:
jobset.message('FAILED', 'No test suites match given criteria.',
do_newline=True)
sys.exit(1)
-
+
print('IMPORTANT: The changes you are testing need to be locally committed')
print('because only the committed changes in the current branch will be')
print('copied to the docker environment or into subworkspaces.')
-print
+print
print 'Will run these tests:'
for job in jobs:
if args.dry_run: