mirror of
https://github.com/neovim/neovim.git
synced 2025-09-07 03:48:18 +00:00

With TUI as an external process oldtests no longer involve threads, so TSAN isn't useful. Meanwhile functionaltests may involve threads.
44 lines
929 B
Bash
Executable File
44 lines
929 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
set -o pipefail
|
|
|
|
CI_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
# shellcheck source-path=SCRIPTDIR
|
|
source "${CI_DIR}/common/build.sh"
|
|
# shellcheck source-path=SCRIPTDIR
|
|
source "${CI_DIR}/common/test.sh"
|
|
# shellcheck source-path=SCRIPTDIR
|
|
source "${CI_DIR}/common/suite.sh"
|
|
|
|
rm -f "$END_MARKER"
|
|
|
|
# Run all tests (with some caveats) if no input argument is given
|
|
if (($# == 0)); then
|
|
tests=('build_nvim')
|
|
|
|
# Additional threads aren't created in the unit/old tests
|
|
if test "$CLANG_SANITIZER" != "TSAN"; then
|
|
if test "${FUNCTIONALTEST}" != "functionaltest-lua"; then
|
|
tests+=('unittests')
|
|
fi
|
|
tests+=('oldtests')
|
|
fi
|
|
|
|
tests+=('functionaltests' 'install_nvim')
|
|
else
|
|
tests=("$@")
|
|
fi
|
|
|
|
for i in "${tests[@]}"; do
|
|
eval "$i" || fail "$i"
|
|
done
|
|
|
|
end_tests
|
|
|
|
if [[ -s "${GCOV_ERROR_FILE}" ]]; then
|
|
echo '=== Unexpected gcov errors: ==='
|
|
cat "${GCOV_ERROR_FILE}"
|
|
exit 1
|
|
fi
|