aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.ci/common/build.sh24
-rwxr-xr-x.ci/run_tests.sh8
-rw-r--r--.travis.yml7
3 files changed, 24 insertions, 15 deletions
diff --git a/.ci/common/build.sh b/.ci/common/build.sh
index 0140be3637..34bba42af3 100644
--- a/.ci/common/build.sh
+++ b/.ci/common/build.sh
@@ -61,19 +61,25 @@ build_nvim() {
exit 1
fi
- echo "Building libnvim."
- if ! ${MAKE_CMD} libnvim; then
- exit 1
- fi
+ if [ "$CLANG_SANITIZER" != "TSAN" ]; then
+ echo "Building libnvim."
+ if ! ${MAKE_CMD} libnvim; then
+ exit 1
+ fi
- echo "Building nvim-test."
- if ! ${MAKE_CMD} nvim-test; then
- exit 1
+ echo "Building nvim-test."
+ if ! ${MAKE_CMD} nvim-test; then
+ exit 1
+ fi
fi
# Invoke nvim to trigger *San early.
- bin/nvim --version
- bin/nvim -u NONE -e -c ':qall'
+ if ! (bin/nvim --version && bin/nvim -u NONE -e -c ':qall'); then
+ asan_check "${LOG_DIR}"
+ exit 1
+ fi
+ asan_check "${LOG_DIR}"
+
cd "${TRAVIS_BUILD_DIR}"
}
diff --git a/.ci/run_tests.sh b/.ci/run_tests.sh
index f3a6466c5e..656ea16e37 100755
--- a/.ci/run_tests.sh
+++ b/.ci/run_tests.sh
@@ -17,8 +17,12 @@ source "${CI_DIR}/common/test.sh"
build_nvim
-run_unittests
-run_functionaltests
+if [ "$CLANG_SANITIZER" != "TSAN" ]; then
+ # Additional threads are only created when the builtin UI starts, which
+ # doesn't happen in the unit/functional tests
+ run_unittests
+ run_functionaltests
+fi
run_oldtests
install_nvim
diff --git a/.travis.yml b/.travis.yml
index becc7e8d3d..f9b0026c1f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -77,10 +77,9 @@ matrix:
- os: linux
compiler: clang-3.6
env: GCOV=llvm-cov-3.6 CLANG_SANITIZER=MSAN
- # FIXME (tarruda): Uncomment when TSan tests don't hang anymore.
- #- os: linux
- # compiler: clang-3.6
- # env: GCOV=llvm-cov-3.6 CLANG_SANITIZER=TSAN
+ - os: linux
+ compiler: clang-3.6
+ env: GCOV=llvm-cov-3.6 CLANG_SANITIZER=TSAN
- os: osx
compiler: clang
env: GCOV=gcov