mirror of
https://https.git.savannah.gnu.org/git/coreutils.git
synced 2026-01-26 15:29:07 +00:00
tests: avoid false failure with sanitizer builds
* init.cfg (sanitizer_build_): Add a helper to detect if a program is built against a sanitizer. * tests/df/no-mtab-status-masked-proc.sh: Skip if a sanitizer build.
This commit is contained in:
parent
28c29d103e
commit
f9eebda93c
7
init.cfg
7
init.cfg
@ -850,4 +850,11 @@ uses_strace_ ()
|
||||
fi
|
||||
}
|
||||
|
||||
# Return true if passed program is built with ASAN, or UBSAN etc.
|
||||
sanitizer_build_()
|
||||
{
|
||||
env $(printf '%sSAN_OPTIONS=help=1 ' A UB L M T) "$1" --version 2>&1 |
|
||||
grep '[Ss]anitizer' >/dev/null
|
||||
}
|
||||
|
||||
sanitize_path_
|
||||
|
||||
@ -22,6 +22,9 @@
|
||||
print_ver_ df
|
||||
skip_if_root_
|
||||
|
||||
# Sanitizers need to read from /proc
|
||||
sanitizer_build_ df && skip_ 'Sanitizer not supported'
|
||||
|
||||
# Protect against inaccessible remote mounts etc.
|
||||
timeout 10 df || skip_ "df fails"
|
||||
|
||||
@ -30,7 +33,7 @@ unshare -rm true || skip_ 'User namespace sandbox is disabled'
|
||||
# mask /proc
|
||||
df() {
|
||||
unshare -rm $SHELL -c \
|
||||
"mount -t tmpfs tmpfs /proc && command df \"\$@\"" -- "$@";
|
||||
"mount -t tmpfs tmpfs /proc && env df \"\$@\"" -- "$@";
|
||||
}
|
||||
|
||||
df /proc || fail=1
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user