s3fs-fuse/test/run_tests_using_sanitizers.sh
Andrew Gaul c8e13300e1 Add script to run tests using sanitizers
These currently show several kinds of errors.
2020-08-15 17:28:35 +09:00

30 lines
880 B
Bash
Executable File

#!/bin/bash
set -o errexit
set -o nounset
set -o pipefail
# run tests with libstc++ debug mode, https://gcc.gnu.org/onlinedocs/libstdc++/manual/debug_mode.html
make clean
./configure CXXFLAGS='-D_GLIBCXX_DEBUG -g'
make
DBGLEVEL=debug make check -C test/
# run tests under AddressSanitizer, https://clang.llvm.org/docs/AddressSanitizer.html
make clean
./configure CXX=clang++ CXXFLAGS='-fsanitize=address -fsanitize-address-use-after-scope -g'
make
ASAN_OPTIONS='detect_stack_use_after_return=1' make check -C test/
# run tests under ThreadSanitizer, https://clang.llvm.org/docs/ThreadSanitizer.html
make clean
./configure CXX=clang++ CXXFLAGS='-fsanitize=thread -g'
make
TSAN_OPTIONS='halt_on_error=1' make check -C test/
# run tests under Valgrind
make clean
./configure CXXFLAGS='-O1 -g'
make
RETRIES=200 VALGRIND='--error-exitcode=1 --leak-check=full' make check -C test/