On Fri, Aug 23, 2019 at 03:32:53PM +0200, Patrick Steinhardt wrote: > + if [ "$TS_ENABLE_ASAN" == "yes" ]; then > + args+=(ASAN_OPTIONS='detect_leaks=1') > + fi > + > # > - # ASAN mode > + # Disable buffering of stdout > # > - elif [ "$TS_ENABLE_ASAN" == "yes" ]; then > - ASAN_OPTIONS='detect_leaks=1' "$@" > + if [ -n "$UNBUFFERED" ]; then > + if type stdbuf >/dev/null 2>&1; then > + args+=(stdbuf --output=0) > + fi > + fi > > # > - # Default mode > + # valgrind mode > # > - else > - "$@" > + if [ -n "$TS_VALGRIND_CMD" ]; then > + args+=(libtool --mode=execute "$TS_VALGRIND_CMD" --tool=memcheck --leak-check=full) > + args+=(--leak-resolution=high --num-callers=20 --log-file="$TS_VGDUMP") > fi > + > + "${args[@]}" "$@" > } Unfortunately, it seems "${args[@]}" does not work when environment variable used: ASAN_OPTIONS=detect_leaks=1 stdbuf --output=0 /home/projects/util-linux/util-linux/mkswap --label 1234567890abcdef --uuid 12345678-abcd-abcd-abcd-1234567890ab /dev/sdc ends with ./tests/ts/misc/../../functions.sh: line 465: ASAN_OPTIONS=detect_leaks=1: command not found And it's more tricky, it seems ASAN binary cannot be executed by stdbuf # stdbuf --output=0 /home/projects/util-linux/util-linux/mkswap --label 1234567890abcdef --uuid 12345678-abcd-abcd-abcd-1234567890ab /dev/sdc ==28469==ASan runtime does not come first in initial library list; you should either link runtime to your application or manually preload it with LD_PRELOAD. it's because stdbuf is hack based on LD_PRELOAD which makes it difficult to use with ASAN... I have tried to fix it by https://github.com/karelzak/util-linux/commit/f612c4c674e8e07fc40644432d8147a05c62058e ... but it's really not perfect. I have used "unbuffer" (from expect) rather than stdbuf. The question is how usable it will be... (but all tests passed). Note that you can try to use ASAN by ./configure --enable-asan, the script tests/run.sh should be smart enough to detect it and then individual tests are executed with --memcheck-asan. So, merged -- please, test it with musl libc. Karel -- Karel Zak <kzak@xxxxxxxxxx> http://karelzak.blogspot.com