summaryrefslogtreecommitdiff
path: root/tests/df
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2015-06-25 13:21:28 +0100
committerPádraig Brady <P@draigBrady.com>2015-06-25 13:41:24 +0100
commit1d82751e2ca03084db4cb06c0b4eaf73036082d8 (patch)
tree04e6e03035b745632a22458a3351d5ea6337dc80 /tests/df
parent381b797784b050f4eafc0dd4b6f070f2d1465f98 (diff)
downloadcoreutils-1d82751e2ca03084db4cb06c0b4eaf73036082d8.tar.xz
tests: avoid false failures with LD_PRELOAD=libasan.so.2
The LD_PRELOAD checks by -fsanitize=address are overly strict: https://groups.google.com/forum/#!topic/address-sanitizer/jEvOJgkDqQk A workaround is to first export LD_PRELOAD=libasan.so.2 The tests below are adjusted so that workaround is not discarded. * tests/cp/no-ctx.sh: Append to $LD_PRELOAD. * tests/df/no-mtab-status.sh: Likewise. * tests/df/skip-duplicates.sh: Likewise. * tests/ls/getxattr-speedup.sh: Likewise. * tests/rm/r-root.sh: Likewise. * tests/cp/nfs-removal-race.sh: Likewise. Also check that LD_PRELOAD is effective to aid future maintainability and avoid false failure if libasan.so.2 is not preloaded.
Diffstat (limited to 'tests/df')
-rwxr-xr-xtests/df/no-mtab-status.sh2
-rwxr-xr-xtests/df/skip-duplicates.sh10
2 files changed, 6 insertions, 6 deletions
diff --git a/tests/df/no-mtab-status.sh b/tests/df/no-mtab-status.sh
index 41d1b521b..c35da6b8c 100755
--- a/tests/df/no-mtab-status.sh
+++ b/tests/df/no-mtab-status.sh
@@ -90,7 +90,7 @@ gcc_shared_ k.c k.so \
cleanup_() { unset LD_PRELOAD; }
-export LD_PRELOAD=./k.so
+export LD_PRELOAD=$LD_PRELOAD:./k.so
# Test if LD_PRELOAD works:
df 2>/dev/null
diff --git a/tests/df/skip-duplicates.sh b/tests/df/skip-duplicates.sh
index c13787665..406960473 100755
--- a/tests/df/skip-duplicates.sh
+++ b/tests/df/skip-duplicates.sh
@@ -146,23 +146,23 @@ gcc_shared_ k.c k.so \
|| framework_failure_ 'failed to build shared library'
# Test if LD_PRELOAD works:
-LD_PRELOAD=./k.so df
+LD_PRELOAD=$LD_PRELOAD:./k.so df
test -f x || skip_ "internal test failure: maybe LD_PRELOAD doesn't work?"
# The fake mtab file should only contain entries
# having the same device number; thus the output should
# consist of a header and unique entries.
-LD_PRELOAD=./k.so df -T >out || fail=1
+LD_PRELOAD=$LD_PRELOAD:./k.so df -T >out || fail=1
test $(wc -l <out) -eq $(expr 1 + $unique_entries) || { fail=1; cat out; }
# With --total we should suppress the duplicate but separate remote file system
-LD_PRELOAD=./k.so df --total >out || fail=1
+LD_PRELOAD=$LD_PRELOAD:./k.so df --total >out || fail=1
test "$CU_REMOTE_FS" && elide_remote=1 || elide_remote=0
test $(wc -l <out) -eq $(expr 2 + $unique_entries - $elide_remote) ||
{ fail=1; cat out; }
# Ensure we don't fail when unable to stat (currently) unavailable entries
-LD_PRELOAD=./k.so CU_TEST_DUPE_INVALID=1 df -T >out || fail=1
+LD_PRELOAD=$LD_PRELOAD:./k.so CU_TEST_DUPE_INVALID=1 df -T >out || fail=1
test $(wc -l <out) -eq $(expr 1 + $unique_entries) || { fail=1; cat out; }
# df should also prefer "/fsname" over "fsname"
@@ -176,7 +176,7 @@ fi
test $(grep -c 'virtfs2.*t2' <out) -eq 1 || { fail=1; cat out; }
# Ensure that filtering duplicates does not affect -a processing.
-LD_PRELOAD=./k.so df -a >out || fail=1
+LD_PRELOAD=$LD_PRELOAD:./k.so df -a >out || fail=1
total_fs=6; test "$CU_REMOTE_FS" && total_fs=$(expr $total_fs + 3)
test $(wc -l <out) -eq $total_fs || { fail=1; cat out; }
# Ensure placeholder "-" values used for the eclipsed "virtfs"