]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
tests: fix non POSIX constructs causing failures with dash
authorPádraig Brady <P@draigBrady.com>
Tue, 19 May 2015 11:36:29 +0000 (12:36 +0100)
committerPádraig Brady <P@draigBrady.com>
Tue, 19 May 2015 14:00:57 +0000 (15:00 +0100)
* tests/cp/no-ctx.sh: Scope of `var=val func` is inconsistent
across shells, so avoid that construct with functions.
* tests/df/no-mtab-status.sh: Likewise.
* tests/tail-2/inotify-race.sh: `read` needs an argument.
* tests/tail-2/inotify-race2.sh: Likewise.

tests/cp/no-ctx.sh
tests/df/no-mtab-status.sh
tests/tail-2/inotify-race.sh
tests/tail-2/inotify-race2.sh

index 19d68b8fff971616e1e3833f0034becb5f50fd52..377d203b0b8c92741aeacff1a5fd6947aa5b5d8c 100755 (executable)
@@ -57,7 +57,8 @@ LD_PRELOAD=./k.so cp -a file_src file_dst || fail=1
 
 # ENODATA should give an immediate error when required to preserve ctx
 # This is debatable, and maybe we should not fail when no context available?
-LD_PRELOAD=./k.so returns_ 1 cp --preserve=context file_src file_dst || fail=1
+( export LD_PRELOAD=./k.so
+  returns_ 1 cp --preserve=context file_src file_dst ) || fail=1
 
 test -e preloaded || skip_ 'LD_PRELOAD interception failed'
 
index 58a1852a2440e10692467d0b8b3bc6d7e3b25947..41d1b521b95afc63c6d45e17535781911cdc757b 100755 (executable)
@@ -88,34 +88,38 @@ EOF
 gcc_shared_ k.c k.so \
   || framework_failure_ 'failed to build shared library'
 
+cleanup_() { unset LD_PRELOAD; }
+
+export LD_PRELOAD=./k.so
+
 # Test if LD_PRELOAD works:
-LD_PRELOAD=./k.so df
+df 2>/dev/null
 test -f x || skip_ "internal test failure: maybe LD_PRELOAD doesn't work?"
 
 # These tests are supposed to succeed:
-LD_PRELOAD=./k.so df '.' || fail=1
-LD_PRELOAD=./k.so df -i '.' || fail=1
-LD_PRELOAD=./k.so df -T '.' || fail=1
-LD_PRELOAD=./k.so df -Ti '.' || fail=1
-LD_PRELOAD=./k.so df --total '.' || fail=1
+df '.' || fail=1
+df -i '.' || fail=1
+df -T '.' || fail=1
+df -Ti '.' || fail=1
+df --total '.' || fail=1
 
 # These tests are supposed to fail:
-LD_PRELOAD=./k.so returns_ 1 df || fail=1
-LD_PRELOAD=./k.so returns_ 1 df -i || fail=1
-LD_PRELOAD=./k.so returns_ 1 df -T || fail=1
-LD_PRELOAD=./k.so returns_ 1 df -Ti || fail=1
-LD_PRELOAD=./k.so returns_ 1 df --total || fail=1
+returns_ 1 df || fail=1
+returns_ 1 df -i || fail=1
+returns_ 1 df -T || fail=1
+returns_ 1 df -Ti || fail=1
+returns_ 1 df --total || fail=1
 
-LD_PRELOAD=./k.so returns_ 1 df -a || fail=1
-LD_PRELOAD=./k.so returns_ 1 df -a '.' || fail=1
+returns_ 1 df -a || fail=1
+returns_ 1 df -a '.' || fail=1
 
-LD_PRELOAD=./k.so returns_ 1 df -l || fail=1
-LD_PRELOAD=./k.so returns_ 1 df -l '.' || fail=1
+returns_ 1 df -l || fail=1
+returns_ 1 df -l '.' || fail=1
 
-LD_PRELOAD=./k.so returns_ 1 df -t hello || fail=1
-LD_PRELOAD=./k.so returns_ 1 df -t hello '.' || fail=1
+returns_ 1 df -t hello || fail=1
+returns_ 1 df -t hello '.' || fail=1
 
-LD_PRELOAD=./k.so returns_ 1 df -x hello || fail=1
-LD_PRELOAD=./k.so returns_ 1 df -x hello '.' || fail=1
+returns_ 1 df -x hello || fail=1
+returns_ 1 df -x hello '.' || fail=1
 
 Exit $fail
index 6e1a7fa4089c75716db40fad22ec4d7db20746a5..4ce05083ffc6c8398ed46aa10c49425bac241e83 100755 (executable)
@@ -83,7 +83,7 @@ gdb -nx --batch-silent \
     --eval-command='quit'                          \
     tail < /dev/null > /dev/null 2>&1 & pid=$!
 
-tail --pid=$pid -f tail.out | (read; kill $pid)
+tail --pid=$pid -f tail.out | (read REPLY; kill $pid)
 
 # gdb has a bug in Debian's gdb-6.8-3 at least that causes it to not
 # cleanup and exit correctly when it receives a SIGTERM, but
index 6d996eba7ce25dd3161921e4571a5e061d37afe1..1e01d5051667cfe0c66c2f8f96f840bfd5ab2b87 100755 (executable)
@@ -88,7 +88,7 @@ gdb -nx --batch-silent \
 # anything between coreutils 7.5 and 8.23 inclusive as
 # The old file descriptor (still held open by tail) was being fstat().
 
-tail --pid=$pid -f tail.out | (read; kill $pid)
+tail --pid=$pid -f tail.out | (read REPLY; kill $pid)
 
 # gdb has a bug in Debian's gdb-6.8-3 at least that causes it to not
 # cleanup and exit correctly when it receives a SIGTERM, but