util-linux/tests
Frantisek Sumsal 81edf9f0da ci: deal with uninstrumented binaries using instrumented libs
All `eject` tests were failing under ASan, since they call /bin/mount,
which is uninstrumented, but it picks up the instrumented `libblkid`
library, causing ASan to complain:

gcc:
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.
eject: unmount of `/home/runner/work/util-linux/util-linux/tests/output/eject/umount-by-disk-mounted-mnt' failed

clang:
/bin/umount: symbol lookup error: /home/runner/work/util-linux/util-linux/.libs/libblkid.so.1: undefined symbol: __sancov_lowest_stack
eject: unmount of `/home/runner/work/util-linux/util-linux/tests/output/eject/umount-by-disk-mounted-mnt' failed

Subsequently, all tests which require the `scsi_debug` module get skipped,
since it's still in use due to the failed umount:

fdisk: align 512/4K                   ... SKIPPED (cannot remove scsi_debug module (rmmod))
fdisk: align 512/4K +alignment_offset ... SKIPPED (cannot remove scsi_debug module (rmmod))
fdisk: align 512/4K +MD               ... SKIPPED (cannot remove scsi_debug module (rmmod))

In case of gcc this can be easily resolved by setting $LD_PRELOAD to the
respective ASan library. clang makes this a bit more difficult, since it
compiles the ASan library statically, so firstly we need to force dynamic
linking (via -shared-asan), and then add the runtime DSO path to the
linker cache, since it's in a non-standard path.
2021-02-01 12:00:30 +01:00
..
expected tests: update swaplabel.err 2021-01-06 11:13:15 +01:00
helpers tests: improve u64 use in ipcs test 2021-01-19 16:25:33 +01:00
ts ci: deal with uninstrumented binaries using instrumented libs 2021-02-01 12:00:30 +01:00
.gitignore tests: make compatible with autotools 2012-08-03 21:24:51 +02:00
Makemodule.am tests: add --parsable, remove TS_OPT_parsable 2019-10-09 13:04:34 +02:00
commands.sh tests: add a fuzz target calling fdisk_script_read_file 2020-08-10 23:30:50 +00:00
functions.sh ci: deal with uninstrumented binaries using instrumented libs 2021-02-01 12:00:30 +01:00
run.sh tests: suggest "make check-programs" 2020-12-17 10:57:33 +01:00