- test "$(id -un)" = nobody
- cd /rspamd/fedora/build
- export LDFLAGS='-fuse-ld=lld'
+ - export CFLAGS='-fsanitize=address,undefined,implicit-integer-truncation'
+ - export ASAN_OPTIONS=detect_leaks=0
- >
cmake
-DENABLE_CLANG_PLUGIN=ON
group: tests
commands:
- test "$(id -un)" = nobody
- - ulimit -c unlimited
+ # Asan reserves 20Tb of virtual memory, limit core size to 2 Gb to avoid writing huge core
+ - ulimit -c 2097152
+ # disable leak sanitizer: too many leaks detected, most of them probably FP
+ - export ASAN_OPTIONS="detect_leaks=0:print_stacktrace=1:disable_coredump=0"
+ - export UBSAN_OPTIONS="print_stacktrace=1:log_path=/tmp/ubsan"
- cd /rspamd/fedora/build/test
- set +e
- ./rspamd-test -p /rspamd/lua; EXIT_CODE=$?
if [ $EXIT_CODE -gt 128 ]; then
gdb --batch -ex 'bt' -c /var/tmp/*.rspamd-test.core ./rspamd-test;
fi
+ - cat /tmp/ubsan.*
- exit $EXIT_CODE
functional: