From 056d6de78fcf11a0f404f25faf8cecc9f9ee9c1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Wed, 5 Mar 2014 18:41:16 +0000 Subject: 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. --- tests/id/zero.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/id') diff --git a/tests/id/zero.sh b/tests/id/zero.sh index 939b162c8..c826ff43d 100755 --- a/tests/id/zero.sh +++ b/tests/id/zero.sh @@ -42,7 +42,7 @@ printf '%s\n' $users '' >> users || framework_failure_ # Exercise "id -z" with various options. printf '\n' > exp || framework_failure_ -:> out || framework_failure_ +> out || framework_failure_ while read u ; do for o in g gr G Gr u ur ; do -- cgit v1.2.1