2020-05-06 07:15:09 +08:00
|
|
|
#!/bin/bash
|
2018-08-19 19:02:16 +08:00
|
|
|
|
|
|
|
set -eu
|
|
|
|
|
|
|
|
CACHEDIR="$HOME/cache"
|
|
|
|
|
2022-01-10 09:17:46 +08:00
|
|
|
. ".github/scripts/flags-$CC.sh"
|
2018-08-19 19:02:16 +08:00
|
|
|
add_flag -Werror
|
2018-08-20 05:34:02 +08:00
|
|
|
add_flag -fdiagnostics-color=always
|
2020-04-05 01:49:03 +08:00
|
|
|
add_flag -fno-omit-frame-pointer
|
2018-08-19 19:02:16 +08:00
|
|
|
add_flag -fsanitize=thread
|
2020-05-06 07:15:09 +08:00
|
|
|
cmake -B_build -H. -GNinja \
|
|
|
|
-DCMAKE_C_FLAGS="$C_FLAGS" \
|
|
|
|
-DCMAKE_CXX_FLAGS="$CXX_FLAGS" \
|
|
|
|
-DCMAKE_EXE_LINKER_FLAGS="$LD_FLAGS" \
|
|
|
|
-DCMAKE_SHARED_LINKER_FLAGS="$LD_FLAGS" \
|
|
|
|
-DCMAKE_INSTALL_PREFIX:PATH="$PWD/_install" \
|
|
|
|
-DMIN_LOGGER_LEVEL=TRACE \
|
|
|
|
-DMUST_BUILD_TOXAV=ON \
|
|
|
|
-DNON_HERMETIC_TESTS=ON \
|
|
|
|
-DSTRICT_ABI=ON \
|
|
|
|
-DTEST_TIMEOUT_SECONDS=120 \
|
|
|
|
-DUSE_IPV6=OFF \
|
2018-10-07 02:03:52 +08:00
|
|
|
-DAUTOTEST=ON
|
2018-08-19 19:02:16 +08:00
|
|
|
|
|
|
|
cd _build
|
|
|
|
|
2020-05-06 07:15:09 +08:00
|
|
|
ninja install -j"$(nproc)"
|
2018-08-19 19:02:16 +08:00
|
|
|
|
2018-08-27 03:08:34 +08:00
|
|
|
export TSAN_OPTIONS="halt_on_error=1"
|
|
|
|
export TSAN_OPTIONS="$TSAN_OPTIONS,second_deadlock_stack=1"
|
2020-04-05 01:49:03 +08:00
|
|
|
export TSAN_OPTIONS="$TSAN_OPTIONS,symbolize=1"
|
2022-01-16 09:51:01 +08:00
|
|
|
ctest -j50 --output-on-failure --rerun-failed --repeat until-pass:6
|