mirror of
https://github.com/s3fs-fuse/s3fs-fuse.git
synced 2024-12-22 08:48:55 +00:00
956e8c5750
Added new class for curl share handle. And, paired the curl handle(S3fsCurl) with the worker thread. Changed that each thread has its own SSL session cache to prevent data races. So OpenSSL suppression for ThreadSanitizer is no longer necessary, so reverted it.
74 lines
2.6 KiB
Bash
Executable File
74 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# s3fs - FUSE-based file system backed by Amazon S3
|
|
#
|
|
# Copyright 2007-2008 Randy Rizun <rrizun@gmail.com>
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; either version 2
|
|
# of the License, or (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
#
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
set -o pipefail
|
|
|
|
# Disable preprocessor warnings from _FORTIFY_SOURCE and -O0
|
|
COMMON_FLAGS="-g -O0 -Wno-cpp"
|
|
|
|
# run tests with libstc++ debug mode, https://gcc.gnu.org/onlinedocs/libstdc++/manual/debug_mode.html
|
|
make clean
|
|
./configure CXXFLAGS="$COMMON_FLAGS -D_GLIBCXX_DEBUG"
|
|
make --jobs="$(nproc)"
|
|
ALL_TESTS=1 make check -C test/
|
|
|
|
# run tests under AddressSanitizer, https://clang.llvm.org/docs/AddressSanitizer.html
|
|
make clean
|
|
./configure CXX=clang++ CXXFLAGS="$COMMON_FLAGS -fsanitize=address -fsanitize-address-use-after-scope"
|
|
make --jobs="$(nproc)"
|
|
ALL_TESTS=1 ASAN_OPTIONS='detect_leaks=1,detect_stack_use_after_return=1' make check -C test/
|
|
|
|
# run tests under MemorySanitizer, https://clang.llvm.org/docs/MemorySanitizer.html
|
|
# TODO: this requires a custom libc++
|
|
#make clean
|
|
#./configure CXX=clang++ CXXFLAGS="$COMMON_FLAGS -fsanitize=memory"
|
|
#make --jobs="$(nproc)"
|
|
#ALL_TESTS=1 make check -C test/
|
|
|
|
# run tests under ThreadSanitizer, https://clang.llvm.org/docs/ThreadSanitizer.html
|
|
make clean
|
|
./configure CXX=clang++ CXXFLAGS="$COMMON_FLAGS -fsanitize=thread"
|
|
make --jobs="$(nproc)"
|
|
ALL_TESTS=1 TSAN_OPTIONS='halt_on_error=1' make check -C test/
|
|
|
|
# run tests under UndefinedBehaviorSanitizer, https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html
|
|
make clean
|
|
./configure CXX=clang++ CXXFLAGS="$COMMON_FLAGS -fsanitize=undefined,implicit-conversion,local-bounds,unsigned-integer-overflow"
|
|
make --jobs="$(nproc)"
|
|
ALL_TESTS=1 make check -C test/
|
|
|
|
# run tests with Valgrind
|
|
make clean
|
|
./configure CXXFLAGS="$COMMON_FLAGS"
|
|
make --jobs="$(nproc)"
|
|
ALL_TESTS=1 RETRIES=100 VALGRIND="--leak-check=full --error-exitcode=1" S3_URL=http://127.0.0.1:8081 make check -C test/
|
|
|
|
#
|
|
# Local variables:
|
|
# tab-width: 4
|
|
# c-basic-offset: 4
|
|
# End:
|
|
# vim600: expandtab sw=4 ts=4 fdm=marker
|
|
# vim<600: expandtab sw=4 ts=4
|
|
#
|