From: Evgeny Vereshchagin Date: Tue, 3 Jul 2018 03:25:53 +0000 (+0000) Subject: tests: add a wrapper for when systemd is built with ASAN X-Git-Tag: v240~1000^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1786fae3668fa94359ee58a8c11031dc46459255;p=thirdparty%2Fsystemd.git tests: add a wrapper for when systemd is built with ASAN --- diff --git a/test/test-functions b/test/test-functions index 1cefec04f55..951b7e5a898 100644 --- a/test/test-functions +++ b/test/test-functions @@ -21,7 +21,7 @@ if ! ROOTLIBDIR=$(pkg-config --variable=systemdutildir systemd); then ROOTLIBDIR=/usr/lib/systemd fi -BASICTOOLS="test sh bash setsid loadkeys setfont login sulogin gzip sleep echo mount umount cryptsetup date dmsetup modprobe sed cmp tee rm true false chmod chown ln" +BASICTOOLS="test sh bash setsid loadkeys setfont login sulogin gzip sleep echo mount umount cryptsetup date dmsetup modprobe sed cmp tee rm true false chmod chown ln xargs" DEBUGTOOLS="df free ls stty cat ps ln ip route dmesg dhclient mkdir cp ping dhclient strace less grep id tty touch du sort hostname find" STATEDIR="${BUILD_DIR:-.}/test/$(basename $(dirname $(realpath $0)))" @@ -293,6 +293,39 @@ EOF chmod 0755 $_valgrind_wrapper } +create_asan_wrapper() { + local _asan_wrapper=$initdir/$ROOTLIBDIR/systemd-under-asan + ddebug "Create $_asan_wrapper" + cat >$_asan_wrapper <>/etc/systemd/system.conf + +# ASAN and syscall filters aren't compatible with each other. +find / -name '*.service' -type f | xargs sed -i 's/^\\(MemoryDeny\\|SystemCall\\)/#\\1/' + +export ASAN_OPTIONS=\$DEFAULT_ASAN_OPTIONS:log_path=/systemd.asan.log +exec $ROOTLIBDIR/systemd "\$@" +EOF + + chmod 0755 $_asan_wrapper +} + create_strace_wrapper() { local _strace_wrapper=$initdir/$ROOTLIBDIR/systemd-under-strace ddebug "Create $_strace_wrapper"