Draft: Make functional tests also use sanitizer exclusions
When tsan is configured, the unit test suite is configured to use an exclusion/suppression/black list, but the functional tests are not.
There are several known tsan false positives, already documented in test/sanitizer_suppressions/tsan
, namely bdb, which is too old to use C++11 style locks, is not properly instrumented for tsan and fails tsan tests spuriously. The unit tests are configured by cmake to be used in unit test.
This MR adds the already defined suppression list to also be used by functional tests.
Marked as draft because
-
Only tsan is added for now, would make sense to add other sanitizers -
While the bdb is properly ignore, the feature_maxuploadtarget functional tests still often fails with too long mutex cycle
Closes #268
Test plan
mkdir build_tsan
cmake -GNinja .. -DBUILD_BITCOIN_WALLET=ON -DBUILD_BITCOIN_QT=ON -DENABLE_SANITIZERS=thread -DCMAKE_C_COMPILER:FILEPATH=/usr/bin/clang -DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/clang++ -DCMAKE_BUILD_TYPE=Release
ninja
ninja check-functional
Edited by matricz