aboutsummaryrefslogtreecommitdiff
path: root/.ci/clang-asan.sh
diff options
context:
space:
mode:
Diffstat (limited to '.ci/clang-asan.sh')
-rw-r--r--.ci/clang-asan.sh34
1 files changed, 27 insertions, 7 deletions
diff --git a/.ci/clang-asan.sh b/.ci/clang-asan.sh
index c6f28848d1..b1909ea689 100644
--- a/.ci/clang-asan.sh
+++ b/.ci/clang-asan.sh
@@ -1,19 +1,30 @@
. "$CI_SCRIPTS/common.sh"
-set_environment /opt/neovim-deps/64
-
sudo pip install cpp-coveralls
-clang_version=3.4
+if [ "$TRAVIS_OS_NAME" = "linux" ]; then
+ clang_version=3.4.2
+ clang_suffix=x86_64-unknown-ubuntu12.04.xz
+elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
+ clang_version=3.5.0
+ clang_suffix=macosx-apple-darwin.tar.xz
+else
+ echo "Unknown OS '$TRAVIS_OS_NAME'."
+ exit 1
+fi
+
if [ ! -d /usr/local/clang-$clang_version ]; then
echo "Downloading clang $clang_version..."
sudo mkdir /usr/local/clang-$clang_version
- wget -q -O - http://llvm.org/releases/$clang_version/clang+llvm-$clang_version-x86_64-unknown-ubuntu12.04.xz \
+ wget -q -O - http://llvm.org/releases/$clang_version/clang+llvm-$clang_version-$clang_suffix \
| sudo tar xJf - --strip-components=1 -C /usr/local/clang-$clang_version
fi
+
export CC=/usr/local/clang-$clang_version/bin/clang
symbolizer=/usr/local/clang-$clang_version/bin/llvm-symbolizer
+setup_prebuilt_deps x64
+
export SANITIZE=1
export ASAN_SYMBOLIZER_PATH=$symbolizer
export ASAN_OPTIONS="detect_leaks=1:log_path=$tmpdir/asan"
@@ -22,14 +33,20 @@ export TSAN_OPTIONS="external_symbolizer_path=$symbolizer:log_path=$tmpdir/tsan"
export SKIP_UNITTEST=1
export UBSAN_OPTIONS="log_path=$tmpdir/ubsan" # not sure if this works
-install_dir="$(pwd)/dist"
-$MAKE_CMD cmake CMAKE_EXTRA_FLAGS="-DTRAVIS_CI_BUILD=ON -DCMAKE_INSTALL_PREFIX=$install_dir -DUSE_GCOV=ON"
+CMAKE_EXTRA_FLAGS="-DTRAVIS_CI_BUILD=ON -DUSE_GCOV=ON"
+
+# Build and output version info.
+$MAKE_CMD CMAKE_EXTRA_FLAGS="$CMAKE_EXTRA_FLAGS" nvim
+build/bin/nvim --version
+
+# Run functional tests.
if ! $MAKE_CMD test; then
asan_check "$tmpdir"
exit 1
fi
asan_check "$tmpdir"
+# Run legacy tests.
if ! $MAKE_CMD oldtest; then
reset
asan_check "$tmpdir"
@@ -39,4 +56,7 @@ asan_check "$tmpdir"
coveralls --encoding iso-8859-1 || echo 'coveralls upload failed.'
-$MAKE_CMD install
+# Test if correctly installed.
+sudo -E $MAKE_CMD install
+/usr/local/bin/nvim --version
+/usr/local/bin/nvim -e -c "quit"