You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add ASAN and Valgrind integration for CI test suite
Add CMake options ENABLE_ASAN and ENABLE_VALGRIND (Linux/GCC/Clang only,
mutually exclusive) with corresponding compiler/linker flags and CTest
memcheck configuration.
CMake changes:
- ENABLE_ASAN appends -fsanitize=address -fno-omit-frame-pointer to
compile and link flags; suppresses -DLOGGING in Debug builds for
cleaner sanitizer output
- ENABLE_VALGRIND finds the valgrind binary and configures
MEMORYCHECK_COMMAND for ctest -T memcheck
- Mutual exclusion enforced via FATAL_ERROR
CMake presets:
- Add 'asan' and 'valgrind' configure/build/test presets inheriting
from 'debug', with ASAN_OPTIONS env and Valgrind timeout multiplier
Build script (firebird-odbc-driver.build.ps1):
- Add -Sanitizer parameter (None, Asan, Valgrind) that passes the
corresponding CMake option; sets ASAN_OPTIONS at runtime; skips
sanitizers on Windows with a warning
CI (build-and-test.yml):
- Add Linux x64 ASAN matrix entry (ubuntu-22.04, Debug)
- Add Linux x64 Valgrind matrix entry (ubuntu-22.04, Debug) with
valgrind package installation
- Sanitizer jobs do not upload release artifacts
Also adds valgrind.supp suppressions file (seeded with fbclient rule).
Closes#288
0 commit comments