From b40b5b6917f62f59eff8f8bd913bd79e4cebe8f2 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Thu, 26 Oct 2006 11:03:30 +0200 Subject: Avoid a shell bug in Tru64 4.0 sh's handling of double-quoted strings. [patch by Paul Eggert] * tests/chmod/c-option: When double-quoting part of a word, prefer to double-quote the whole word. This is a bit easier to read (at least for me), and in some cases it avoids a shell bug with Tru64 4.0 sh reported by Nelson H. F. Beebe. For example, instead of "$abs_srcdir"/../setgid-check we now write "$abs_srcdir/../setgid-check". * tests/cp/cp-parents: Likewise. * tests/du/inaccessible-cwd: Likewise. * tests/du/long-from-unreadable: Likewise. * tests/install/basic-1: Likewise. * tests/install/trap: Likewise. * tests/misc/close-stdout: Likewise. * tests/mkdir/concurrent-1: Likewise. * tests/mkdir/p-1: Likewise. * tests/mkdir/p-3: Likewise. * tests/mkdir/parents: Likewise. * tests/mkdir/perm: Likewise. * tests/readlink/can-e: Likewise. * tests/readlink/can-f: Likewise. * tests/readlink/can-m: Likewise. * tests/rm/inaccessible: Likewise. * tests/rm/unread3: Likewise. * tests/touch/no-create-missing: Likewise. * lib/.cvsignore: Add uinttostr.c. --- tests/mkdir/concurrent-1 | 2 +- tests/mkdir/p-1 | 2 +- tests/mkdir/p-3 | 14 +++++++------- tests/mkdir/parents | 6 +++--- tests/mkdir/perm | 4 ++-- 5 files changed, 14 insertions(+), 14 deletions(-) (limited to 'tests/mkdir') diff --git a/tests/mkdir/concurrent-1 b/tests/mkdir/concurrent-1 index 790e4ed7a..0a8c14295 100755 --- a/tests/mkdir/concurrent-1 +++ b/tests/mkdir/concurrent-1 @@ -32,7 +32,7 @@ tmp=`echo "$0"|sed 's,.*/,,'`.tmp trap 'status=$?; cd "$pwd" && rm -rf $tmp && exit $status' 0 trap '(exit $?); exit' 1 2 13 15 -mkdir --parents "$pwd"/$tmp/a/b/c || fail=1 +mkdir --parents "$pwd/$tmp/a/b/c" || fail=1 test -d $tmp || fail=1 diff --git a/tests/mkdir/p-1 b/tests/mkdir/p-1 index 001b8b74c..7e384e415 100755 --- a/tests/mkdir/p-1 +++ b/tests/mkdir/p-1 @@ -28,7 +28,7 @@ tmp=`echo "$0"|sed 's,.*/,,'`.tmp trap 'status=$?; cd "$pwd" && rm -rf $tmp && exit $status' 0 trap '(exit $?); exit' 1 2 13 15 -mkdir --parents "$pwd"/$tmp || fail=1 +mkdir --parents "$pwd/$tmp" || fail=1 test -d $tmp || fail=1 diff --git a/tests/mkdir/p-3 b/tests/mkdir/p-3 index d9e49d5dc..7f367178e 100755 --- a/tests/mkdir/p-3 +++ b/tests/mkdir/p-3 @@ -45,20 +45,20 @@ if test $framework_failure = 1; then fi p=$pwd/$tmp -(cd no-access && chmod 0 . && mkdir -p "$p"/a/b u/v) 2> /dev/null && fail=1 -test -d "$p"/a/b || fail=1 +(cd no-access && chmod 0 . && mkdir -p "$p/a/b" u/v) 2> /dev/null && fail=1 +test -d "$p/a/b" || fail=1 # Same as above, but with a following *absolute* name, it should succeed -(cd no-acce2s && chmod 0 . && mkdir -p "$p"/b/b "$p"/z) || fail=1 -test -d "$p"/b/b && test -d "$p"/z || fail=1 +(cd no-acce2s && chmod 0 . && mkdir -p "$p/b/b" "$p/z") || fail=1 +test -d "$p/b/b" && test -d "$p/z" || fail=1 # Same as above, but a trailing relative name in an unreadable directory # whose parent is inaccessible. coreutils 5.97 fails this test. -(cd no-acce3s/d && chmod a-rx .. && chmod a-r . && mkdir -p a/b "$p"/b/c d/e && +(cd no-acce3s/d && chmod a-rx .. && chmod a-r . && mkdir -p a/b "$p/b/c" d/e && test -d a/b && test -d d/e) || fail=1 -test -d "$p"/b/c || fail=1 +test -d "$p/b/c" || fail=1 -b=`ls "$p"/a|tr -d '\n'` +b=`ls "$p/a" | tr -d '\n'` # With coreutils-5.3.0, this would fail with $b=bu. test "x$b" = xb || fail=1 diff --git a/tests/mkdir/parents b/tests/mkdir/parents index 46977fcdc..f0ead6ee8 100755 --- a/tests/mkdir/parents +++ b/tests/mkdir/parents @@ -44,7 +44,7 @@ if test $framework_failure = 1; then (exit 1); exit 1 fi -. "$abs_srcdir"/../setgid-check +. "$abs_srcdir/../setgid-check" fail=0 @@ -56,12 +56,12 @@ mkdir e-dir > /dev/null 2>&1 && fail=1 # Create an existing directory. umask 077 mode_str=drwxr-x-wx -mode_arg=`"$abs_srcdir"/../rwx-to-mode $mode_str` +mode_arg=`"$abs_srcdir/../rwx-to-mode" $mode_str` mkdir -m $mode_arg a || fail=1 # this `mkdir -p ...' shouldn't change perms of existing dir `a'. d_mode_str=drwx-w--wx -d_mode_arg=`"$abs_srcdir"/../rwx-to-mode $d_mode_str` +d_mode_arg=`"$abs_srcdir/../rwx-to-mode" $d_mode_str` mkdir -p -m $d_mode_arg a/b/c/d # Make sure the permissions of `a' haven't been changed. diff --git a/tests/mkdir/perm b/tests/mkdir/perm index 54838088c..3853f2a3b 100755 --- a/tests/mkdir/perm +++ b/tests/mkdir/perm @@ -45,8 +45,8 @@ if test $framework_failure = 1; then (exit 1); exit 1 fi -. "$abs_srcdir"/../setgid-check -. "$abs_srcdir"/../umask-check +. "$abs_srcdir/../setgid-check" +. "$abs_srcdir/../umask-check" fail=0 -- cgit v1.2.3-70-g09d2