mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
a549807df7
This will allow us to do more interesting things with memory allocation within toxcore, and allow fuzzers to explore various allocation failure paths.
62 lines
1.4 KiB
Bash
Executable File
62 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -eu
|
|
|
|
NPROC=$(nproc)
|
|
|
|
sudo apt-get install -y --no-install-recommends \
|
|
libgtest-dev \
|
|
libopus-dev \
|
|
libsodium-dev \
|
|
libvpx-dev \
|
|
llvm-14 \
|
|
ninja-build
|
|
git clone --depth=1 https://github.com/ralight/mallocfail /tmp/mallocfail
|
|
cd /tmp/mallocfail # pushd
|
|
make
|
|
sudo make install
|
|
cd - # popd
|
|
|
|
export CC=clang
|
|
export CXX=clang++
|
|
|
|
sudo install other/docker/coverage/run_mallocfail /usr/local/bin/run_mallocfail
|
|
(cd other/proxy && go get && go build)
|
|
other/proxy/proxy &
|
|
|
|
. ".github/scripts/flags-coverage.sh"
|
|
|
|
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" \
|
|
-DENABLE_SHARED=OFF \
|
|
-DMIN_LOGGER_LEVEL=TRACE \
|
|
-DMUST_BUILD_TOXAV=ON \
|
|
-DNON_HERMETIC_TESTS=OFF \
|
|
-DSTRICT_ABI=ON \
|
|
-DTEST_TIMEOUT_SECONDS=120 \
|
|
-DUSE_IPV6=OFF \
|
|
-DAUTOTEST=ON \
|
|
-DPROXY_TEST=ON
|
|
|
|
cmake --build _build --parallel "$NPROC" --target install -- -k 0
|
|
|
|
cd _build # pushd
|
|
ctest -j50 --output-on-failure --rerun-failed --repeat until-pass:6 ||
|
|
ctest -j50 --output-on-failure --rerun-failed --repeat until-pass:6
|
|
|
|
export PYTHONUNBUFFERED=1
|
|
run_mallocfail --ctest=2 --jobs=8
|
|
cd - # popd
|
|
|
|
#coveralls \
|
|
# --exclude auto_tests \
|
|
# --exclude other \
|
|
# --exclude testing \
|
|
# --gcov-options '\-lp'
|
|
|
|
bash <(curl -s https://codecov.io/bash) -x "llvm-cov-14 gcov"
|