summaryrefslogtreecommitdiff
path: root/tests/tail-2
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2014-03-05 18:41:16 +0000
committerPádraig Brady <P@draigBrady.com>2014-03-05 19:02:20 +0000
commit056d6de78fcf11a0f404f25faf8cecc9f9ee9c1c (patch)
treecd5235d3fd1e8b0142c543541675dd66f26c3d91 /tests/tail-2
parent5dce6bdfafc930dfd17d5d16aea7d1add3472066 (diff)
downloadcoreutils-056d6de78fcf11a0f404f25faf8cecc9f9ee9c1c.tar.xz
tests: avoid the :> construct which can hide errors
On most shells `:>file || framework_failure_` will not evaluate the framework_failure_ even if there was an error writing the file. shells which do evaluate the failure are ksh 93u+ and bash 4.2, while shells wich don't include bash 4.3, solaris, freebsd, dash. Furthermore this construct is problematic on Solaris 10 sh, which will try to optimize away a `:' command in a loop after the first iteration, even if it is redirected. * tests/cp/link-deref.sh: Remove the leading colon on redirections. * tests/cp/reflink-perm.sh: Likewise. * tests/id/zero.sh: Likewise. * tests/install/install-C.sh: Likewise. * tests/misc/env.sh: Likewise. * tests/misc/md5sum-bsd.sh: Likewise. * tests/misc/runcon-no-reorder.sh: Likewise. * tests/mv/partition-perm.sh: Likewise. * tests/rm/r-root.sh: Likewise. * tests/split/l-chunk.sh: Likewise. * tests/split/line-bytes.sh: Likewise. * tests/tail-2/inotify-rotate.sh: Likewise. * tests/tail-2/retry.sh: Likewise. * tests/tail-2/symlink.sh: Likewise. * tests/tail-2/wait.sh: Likewise. * tests/touch/read-only.sh: Likewise. + cfg.mk (sc_prohibit_colon_redirection): A new syntax check to avoid further instances of this creeping in.
Diffstat (limited to 'tests/tail-2')
-rwxr-xr-xtests/tail-2/inotify-rotate.sh2
-rwxr-xr-xtests/tail-2/retry.sh2
-rwxr-xr-xtests/tail-2/symlink.sh4
-rwxr-xr-xtests/tail-2/wait.sh2
4 files changed, 5 insertions, 5 deletions
diff --git a/tests/tail-2/inotify-rotate.sh b/tests/tail-2/inotify-rotate.sh
index a95f4eccb..1c942cc3d 100755
--- a/tests/tail-2/inotify-rotate.sh
+++ b/tests/tail-2/inotify-rotate.sh
@@ -47,7 +47,7 @@ for i in $(seq 50); do
# Normally less than a second is required here, but with heavy load
# and a lot of disk activity, even 20 seconds is insufficient, which
# leads to this timeout killing tail before the "ok" is written below.
- :>k && :>x || framework_failure_ failed to initialize files
+ >k && >x || framework_failure_ failed to initialize files
timeout 40 tail -F k > out 2>&1 &
pid=$!
sleep .1
diff --git a/tests/tail-2/retry.sh b/tests/tail-2/retry.sh
index 5b74b7402..dbe66a4e1 100755
--- a/tests/tail-2/retry.sh
+++ b/tests/tail-2/retry.sh
@@ -45,7 +45,7 @@ grep -F 'tail: warning: --retry ignored' out || fail=1
# === Test:
# Ensure that "tail --retry --follow=name" waits for the file to appear.
# Clear 'out' so that we can check its contents without races
-:>out || framework_failure_
+>out || framework_failure_
timeout 10 tail -s.1 --follow=name --retry missing >out 2>&1 & pid=$!
retry_delay_ wait4lines_ .1 6 1 || fail=1 # Wait for "cannot open" error.
echo "X" > missing || fail=1
diff --git a/tests/tail-2/symlink.sh b/tests/tail-2/symlink.sh
index 362cb6353..b21f9e15c 100755
--- a/tests/tail-2/symlink.sh
+++ b/tests/tail-2/symlink.sh
@@ -32,7 +32,7 @@ wait4lines_ ()
# Ensure changing targets of cli specified symlinks are handled.
# Prior to v8.22, inotify would fail to recognize changes in the targets.
# Clear 'out' so that we can check its contents without races.
-:>out || framework_failure_
+>out || framework_failure_
ln -nsf target symlink || framework_failure_
timeout 10 tail -s.1 -F symlink >out 2>&1 & pid=$!
retry_delay_ wait4lines_ .1 6 1 || fail=1 # Wait for "cannot open..."
@@ -50,7 +50,7 @@ rm -f target out || framework_failure_
# Ensure we correctly handle the source symlink itself changing.
# I.E. that we don't operate solely on the targets.
# Clear 'out' so that we can check its contents without races.
-:>out || framework_failure_
+>out || framework_failure_
echo "X1" > target1 || framework_failure_
ln -nsf target1 symlink || framework_failure_
timeout 10 tail -s.1 -F symlink >out 2>&1 & pid=$!
diff --git a/tests/tail-2/wait.sh b/tests/tail-2/wait.sh
index 42a93bfe6..13898acf1 100755
--- a/tests/tail-2/wait.sh
+++ b/tests/tail-2/wait.sh
@@ -52,7 +52,7 @@ for inotify in ---disable-inotify ''; do
grep -Ev 'inotify (resources exhausted|cannot be used)' tail.err > x
mv x tail.err
test -s tail.err && fail=1
- :>tail.err
+ >tail.err
tail_F()
{