Files
neovim/ci/run_tests.sh
zeertzjq 3d49d39cd8 ci(tsan): run functionaltests instead of oldtests (#21744)
With TUI as an external process oldtests no longer involve threads, so
TSAN isn't useful. Meanwhile functionaltests may involve threads.
2023-01-11 14:36:26 +01:00

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