snapraid/makesan.sh
2025-08-12 21:36:56 +02:00

68 lines
1008 B
Bash
Executable File

#!/bin/sh
#
# Run all the Sanitizers available
#
# Compiler to use
COMPILER=clang
# Options for configure
# --disable-asm
# Inline assembly is not supported by the Sanitizers
# --without-blkid
# External libraries are not supported by the Sanitizers
OPTIONS="--disable-asm --without-blkid"
# Source directory
SOURCE=`pwd`
# Dest directory
DEST=`mktemp -d`
make distclean
cd $DEST
# AddressSanitizer
if ! $SOURCE/configure --enable-asan $OPTIONS CC=$COMPILER; then
exit 1
fi
if ! make check distclean; then
exit 1
fi
# UndefinedBehaviourSanitizer
if ! $SOURCE/configure --enable-ubsan $OPTIONS CC=$COMPILER; then
exit 1
fi
if ! make check distclean; then
exit 1
fi
# MemorySanitizer
if ! $SOURCE/configure --enable-msan $OPTIONS CC=$COMPILER; then
exit 1
fi
if ! make check distclean; then
exit 1
fi
# ThreadSanitizer
if ! $SOURCE/configure --enable-tsan $OPTIONS CC=$COMPILER; then
exit 1
fi
if ! make check distclean; then
exit 1
fi
cd $SOURCE
if ! ./configure; then
exit 1
fi