Merge commit '227425b90e9a671118026689dd30967e127a1090' as 'external/toxcore/c-toxcore'
This commit is contained in:
39
external/toxcore/c-toxcore/.circleci/cmake-asan
vendored
Executable file
39
external/toxcore/c-toxcore/.circleci/cmake-asan
vendored
Executable file
@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
CACHEDIR="$HOME/cache"
|
||||
|
||||
. ".github/scripts/flags-$CC.sh"
|
||||
add_flag -Werror
|
||||
add_flag -fdiagnostics-color=always
|
||||
add_flag -fno-omit-frame-pointer
|
||||
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" \
|
||||
-DCMAKE_UNITY_BUILD=ON \
|
||||
-DMIN_LOGGER_LEVEL=TRACE \
|
||||
-DMUST_BUILD_TOXAV=ON \
|
||||
-DNON_HERMETIC_TESTS=ON \
|
||||
-DSTRICT_ABI=ON \
|
||||
-DTEST_TIMEOUT_SECONDS=120 \
|
||||
-DUSE_IPV6=OFF \
|
||||
-DAUTOTEST=ON \
|
||||
-DBUILD_MISC_TESTS=ON \
|
||||
-DBUILD_FUN_UTILS=ON
|
||||
|
||||
cd _build
|
||||
|
||||
ninja install -j"$(nproc)"
|
||||
|
||||
export ASAN_OPTIONS="color=always"
|
||||
export ASAN_OPTIONS="$ASAN_OPTIONS,detect_invalid_pointer_pairs=1"
|
||||
export ASAN_OPTIONS="$ASAN_OPTIONS,detect_stack_use_after_return=1"
|
||||
export ASAN_OPTIONS="$ASAN_OPTIONS,strict_init_order=1"
|
||||
export ASAN_OPTIONS="$ASAN_OPTIONS,strict_string_checks=1"
|
||||
export ASAN_OPTIONS="$ASAN_OPTIONS,symbolize=1"
|
||||
ctest -j50 --output-on-failure --rerun-failed --repeat until-pass:6
|
35
external/toxcore/c-toxcore/.circleci/cmake-tsan
vendored
Executable file
35
external/toxcore/c-toxcore/.circleci/cmake-tsan
vendored
Executable file
@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
CACHEDIR="$HOME/cache"
|
||||
|
||||
. ".github/scripts/flags-$CC.sh"
|
||||
add_flag -Werror
|
||||
add_flag -fdiagnostics-color=always
|
||||
add_flag -fno-omit-frame-pointer
|
||||
add_flag -fsanitize=thread
|
||||
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" \
|
||||
-DCMAKE_UNITY_BUILD=ON \
|
||||
-DMIN_LOGGER_LEVEL=TRACE \
|
||||
-DMUST_BUILD_TOXAV=ON \
|
||||
-DNON_HERMETIC_TESTS=ON \
|
||||
-DSTRICT_ABI=ON \
|
||||
-DTEST_TIMEOUT_SECONDS=120 \
|
||||
-DUSE_IPV6=OFF \
|
||||
-DAUTOTEST=ON
|
||||
|
||||
cd _build
|
||||
|
||||
ninja install -j"$(nproc)"
|
||||
|
||||
export TSAN_OPTIONS="color=always"
|
||||
export TSAN_OPTIONS="$TSAN_OPTIONS,halt_on_error=1"
|
||||
export TSAN_OPTIONS="$TSAN_OPTIONS,second_deadlock_stack=1"
|
||||
export TSAN_OPTIONS="$TSAN_OPTIONS,symbolize=1"
|
||||
ctest -j50 --output-on-failure --rerun-failed --repeat until-pass:6
|
40
external/toxcore/c-toxcore/.circleci/cmake-ubsan
vendored
Executable file
40
external/toxcore/c-toxcore/.circleci/cmake-ubsan
vendored
Executable file
@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
CACHEDIR="$HOME/cache"
|
||||
|
||||
. ".github/scripts/flags-$CC.sh"
|
||||
add_flag -Werror
|
||||
add_flag -fdiagnostics-color=always
|
||||
add_flag -fno-omit-frame-pointer
|
||||
add_flag -fno-sanitize-recover=all
|
||||
add_flag -fsanitize=undefined,nullability,local-bounds,float-divide-by-zero,integer
|
||||
add_flag -fno-sanitize=implicit-conversion,unsigned-integer-overflow
|
||||
# Enable extra checks. We only do this on ubsan because it shows useful error
|
||||
# messages for the kind of bugs this catches (mostly incorrect nullability
|
||||
# annotations). Other builds will segfault, ubsan will show a stack trace.
|
||||
add_flag -D_DEBUG
|
||||
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" \
|
||||
-DCMAKE_UNITY_BUILD=ON \
|
||||
-DMIN_LOGGER_LEVEL=TRACE \
|
||||
-DMUST_BUILD_TOXAV=ON \
|
||||
-DNON_HERMETIC_TESTS=ON \
|
||||
-DSTRICT_ABI=ON \
|
||||
-DTEST_TIMEOUT_SECONDS=120 \
|
||||
-DUSE_IPV6=OFF \
|
||||
-DAUTOTEST=ON
|
||||
|
||||
cd _build
|
||||
|
||||
ninja install -j"$(nproc)"
|
||||
|
||||
export UBSAN_OPTIONS="color=always"
|
||||
export UBSAN_OPTIONS="$UBSAN_OPTIONS,print_stacktrace=1"
|
||||
export UBSAN_OPTIONS="$UBSAN_OPTIONS,symbolize=1"
|
||||
ctest -j50 --output-on-failure --rerun-failed --repeat until-pass:6
|
170
external/toxcore/c-toxcore/.circleci/config.yml
vendored
Normal file
170
external/toxcore/c-toxcore/.circleci/config.yml
vendored
Normal file
@ -0,0 +1,170 @@
|
||||
---
|
||||
version: 2
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
program-analysis:
|
||||
jobs:
|
||||
# Dynamic analysis
|
||||
- asan
|
||||
- tsan
|
||||
- msan
|
||||
- ubsan
|
||||
# Static analysis
|
||||
- clang-analyze
|
||||
- clang-tidy
|
||||
- cpplint
|
||||
- infer
|
||||
- static-analysis
|
||||
|
||||
jobs:
|
||||
asan:
|
||||
working_directory: ~/work
|
||||
docker:
|
||||
- image: ubuntu
|
||||
|
||||
steps:
|
||||
- run: &apt_install
|
||||
apt-get update &&
|
||||
DEBIAN_FRONTEND=noninteractive
|
||||
apt-get install -y --no-install-recommends
|
||||
ca-certificates
|
||||
clang
|
||||
cmake
|
||||
git
|
||||
libconfig-dev
|
||||
libgtest-dev
|
||||
libopus-dev
|
||||
libsodium-dev
|
||||
libvpx-dev
|
||||
llvm-dev
|
||||
ninja-build
|
||||
pkg-config
|
||||
- checkout
|
||||
- run: git submodule update --init --recursive
|
||||
- run: CC=clang .circleci/cmake-asan
|
||||
|
||||
tsan:
|
||||
working_directory: ~/work
|
||||
docker:
|
||||
- image: ubuntu
|
||||
|
||||
steps:
|
||||
- run: *apt_install
|
||||
- checkout
|
||||
- run: git submodule update --init --recursive
|
||||
- run: CC=clang .circleci/cmake-tsan
|
||||
|
||||
ubsan:
|
||||
working_directory: ~/work
|
||||
docker:
|
||||
- image: ubuntu
|
||||
|
||||
steps:
|
||||
- run: *apt_install
|
||||
- checkout
|
||||
- run: git submodule update --init --recursive
|
||||
- run: CC=clang .circleci/cmake-ubsan
|
||||
|
||||
msan:
|
||||
working_directory: ~/work
|
||||
docker:
|
||||
- image: toxchat/toktok-stack:latest-msan
|
||||
|
||||
steps:
|
||||
- checkout
|
||||
- run: git submodule update --init --recursive
|
||||
- run: rm -rf /src/workspace/c-toxcore/* && mv * /src/workspace/c-toxcore/
|
||||
- run:
|
||||
cd /src/workspace && bazel test
|
||||
//c-toxcore/auto_tests:lossless_packet_test
|
||||
//c-toxcore/toxav/...
|
||||
//c-toxcore/toxcore/...
|
||||
|
||||
infer:
|
||||
working_directory: ~/work
|
||||
docker:
|
||||
- image: toxchat/infer
|
||||
|
||||
steps:
|
||||
- run: *apt_install
|
||||
- checkout
|
||||
- run: git submodule update --init --recursive
|
||||
- run: infer --no-progress-bar -- cc
|
||||
auto_tests/auto_test_support.c
|
||||
auto_tests/lossless_packet_test.c
|
||||
testing/misc_tools.c
|
||||
toxav/*.c
|
||||
toxcore/*.c
|
||||
toxcore/*/*.c
|
||||
toxencryptsave/*.c
|
||||
third_party/cmp/*.c
|
||||
-lpthread
|
||||
$(pkg-config --cflags --libs libsodium opus vpx)
|
||||
|
||||
static-analysis:
|
||||
working_directory: ~/work
|
||||
docker:
|
||||
- image: ubuntu
|
||||
|
||||
steps:
|
||||
- run: *apt_install
|
||||
- run:
|
||||
apt-get install -y --no-install-recommends
|
||||
ca-certificates
|
||||
cppcheck
|
||||
g++
|
||||
llvm-dev
|
||||
- checkout
|
||||
- run: git submodule update --init --recursive
|
||||
- run: other/analysis/check_includes
|
||||
- run: other/analysis/check_logger_levels
|
||||
- run: other/analysis/run-clang
|
||||
- run: other/analysis/run-cppcheck
|
||||
- run: other/analysis/run-gcc
|
||||
|
||||
clang-analyze:
|
||||
working_directory: ~/work
|
||||
docker:
|
||||
- image: ubuntu
|
||||
|
||||
steps:
|
||||
- run: *apt_install
|
||||
- checkout
|
||||
- run: git submodule update --init --recursive
|
||||
- run: other/analysis/run-clang-analyze
|
||||
|
||||
clang-tidy:
|
||||
working_directory: ~/work
|
||||
docker:
|
||||
- image: ubuntu
|
||||
|
||||
steps:
|
||||
- run: *apt_install
|
||||
- run:
|
||||
apt-get install -y --no-install-recommends
|
||||
ca-certificates
|
||||
clang-tidy-12
|
||||
- checkout
|
||||
- run: git submodule update --init --recursive
|
||||
- run: cmake . -B_build -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
||||
- run:
|
||||
other/analysis/run-clang-tidy ||
|
||||
other/analysis/run-clang-tidy ||
|
||||
other/analysis/run-clang-tidy
|
||||
|
||||
cpplint:
|
||||
working_directory: ~/work
|
||||
docker:
|
||||
- image: ubuntu
|
||||
|
||||
steps:
|
||||
- run: *apt_install
|
||||
- run:
|
||||
apt-get install -y --no-install-recommends
|
||||
ca-certificates
|
||||
python3-pip
|
||||
- checkout
|
||||
- run: git submodule update --init --recursive
|
||||
- run: pip install cpplint
|
||||
- run: other/analysis/run-cpplint
|
Reference in New Issue
Block a user