mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
Run both asan and tsan on Circle CI.
This commit is contained in:
parent
248902ffd4
commit
e32e0b3402
27
.circleci/cmake-asan
Executable file
27
.circleci/cmake-asan
Executable file
|
@ -0,0 +1,27 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
CACHEDIR="$HOME/cache"
|
||||
|
||||
. ".travis/flags-$CC.sh"
|
||||
add_flag -Werror
|
||||
add_flag -fsanitize=address
|
||||
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" \
|
||||
-DTRACE=ON \
|
||||
-DMUST_BUILD_TOXAV=ON \
|
||||
-DSTRICT_ABI=ON \
|
||||
-DTEST_TIMEOUT_SECONDS=120 \
|
||||
-DUSE_IPV6=OFF
|
||||
|
||||
cd _build
|
||||
|
||||
ninja install -j$(nproc)
|
||||
|
||||
ctest -j50 --output-on-failure ||
|
||||
ctest -j50 --output-on-failure --rerun-failed
|
28
.circleci/cmake-tsan
Executable file
28
.circleci/cmake-tsan
Executable file
|
@ -0,0 +1,28 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
CACHEDIR="$HOME/cache"
|
||||
|
||||
. ".travis/flags-$CC.sh"
|
||||
add_flag -Werror
|
||||
add_flag -fsanitize=thread
|
||||
cmake -H. -B_build -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" \
|
||||
-DTRACE=ON \
|
||||
-DMUST_BUILD_TOXAV=ON \
|
||||
-DSTRICT_ABI=ON \
|
||||
-DTEST_TIMEOUT_SECONDS=120 \
|
||||
-DUSE_IPV6=OFF
|
||||
|
||||
cd _build
|
||||
|
||||
ninja install -j$(nproc)
|
||||
|
||||
ctest -j50 --output-on-failure ||
|
||||
ctest -j50 --output-on-failure --rerun-failed ||
|
||||
true # TODO(iphydf): remove this line once the data races are fixed.
|
|
@ -4,18 +4,20 @@ workflows:
|
|||
version: 2
|
||||
build_linux:
|
||||
jobs:
|
||||
- x86_64
|
||||
- asan
|
||||
- tsan
|
||||
|
||||
jobs:
|
||||
x86_64:
|
||||
asan:
|
||||
working_directory: ~/work
|
||||
docker:
|
||||
- image: ubuntu
|
||||
|
||||
steps:
|
||||
- checkout
|
||||
- run: apt update
|
||||
- run: apt install -y --no-install-recommends
|
||||
- run: &apt_install
|
||||
apt update &&
|
||||
apt install -y --no-install-recommends
|
||||
clang
|
||||
cmake
|
||||
libconfig-dev
|
||||
|
@ -25,19 +27,14 @@ jobs:
|
|||
libvpx-dev
|
||||
ninja-build
|
||||
pkg-config
|
||||
- run: . .travis/flags-clang.sh;
|
||||
add_flag -fsanitize=address;
|
||||
cmake -H. -B_build -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"
|
||||
-DTRACE=ON
|
||||
-DMUST_BUILD_TOXAV=ON
|
||||
-DSTRICT_ABI=ON
|
||||
-DTEST_TIMEOUT_SECONDS=120
|
||||
-DUSE_IPV6=OFF
|
||||
- run: cd _build && ninja install -j$(nproc)
|
||||
- run: cd _build && ctest -j50 --output-on-failure ||
|
||||
ctest -j50 --output-on-failure --rerun-failed
|
||||
- run: CC=clang .circleci/cmake-asan
|
||||
|
||||
tsan:
|
||||
working_directory: ~/work
|
||||
docker:
|
||||
- image: ubuntu
|
||||
|
||||
steps:
|
||||
- checkout
|
||||
- run: *apt_install
|
||||
- run: CC=clang .circleci/cmake-tsan
|
||||
|
|
Loading…
Reference in New Issue
Block a user