From e43d30eab3215bc9ff49ec7db3d3e2baa95ba070 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Tue, 3 Apr 2012 20:32:44 +0200 Subject: tests: convert nearly all `...` expressions to $(...) Exempt init.sh because it runs before we're assured to have a shell that groks $(...). Exempt *.mk because "$" would have to be doubled, and besides, any `...` expression in a .mk file is almost certainly evaluated before init.sh is run. Finally, also exempt the perl-based tests, because perl's `...` cannot be converted to $(...). Do that by running this command: git grep -l '`.*`' tests \ | grep -Ev 'init\.sh|\.mk$' | xargs grep -Lw perl \ | xargs perl -pi -e 's/`(.*?)`/\$($1)/g' One minor fix-up change was required after that, due to how quoting differs: diff --git a/tests/chmod/equals b/tests/chmod/equals - expected_perms=$(eval 'echo \$expected_'$dest) + expected_perms=$(eval 'echo $expected_'$dest) Another was to make these required quoting adjustments: diff --git a/tests/misc/stty b/tests/misc/stty ... - rev=$(eval echo "\\\$REV_$opt") + rev=$(eval echo "\$REV_$opt") ... - rev1=$(eval echo "\\\$REV_$opt1") - rev2=$(eval echo "\\\$REV_$opt2") + rev1=$(eval echo "\$REV_$opt1") + rev2=$(eval echo "\$REV_$opt2") Also, transform two files that were needlessly excluded above: (both use perl, but are mostly bourne shell) perl -pi -e 's/`(.*?)`/\$($1)/g' \ tests/du/long-from-unreadable tests/init.cfg --- tests/chmod/c-option | 2 +- tests/chmod/equal-x | 2 +- tests/chmod/equals | 6 +++--- tests/chmod/setgid | 4 ++-- tests/chmod/usage | 6 +++--- 5 files changed, 10 insertions(+), 10 deletions(-) (limited to 'tests/chmod') diff --git a/tests/chmod/c-option b/tests/chmod/c-option index 9235b52fc..0fc83912a 100755 --- a/tests/chmod/c-option +++ b/tests/chmod/c-option @@ -32,7 +32,7 @@ chmod -c g=rwx $file > out || fail=1 chmod -c g=rwx $file > empty || fail=1 test -s empty && fail=1 -case "`cat out`" in +case "$(cat out)" in "mode of 'f' changed from 0744 "?rwxr--r--?" to 0774 "?rwxrwxr--?) ;; *) cat out; fail=1 ;; esac diff --git a/tests/chmod/equal-x b/tests/chmod/equal-x index d2998d137..e2cac3478 100755 --- a/tests/chmod/equal-x +++ b/tests/chmod/equal-x @@ -25,7 +25,7 @@ touch $file || framework_failure_ umask 005 for mode in =x =xX =Xx =x,=X =X,=x; do chmod a=r,$mode $file || fail=1 - case "`ls -l $file`" in + case "$(ls -l $file)" in ---x--x---*) ;; *) fail=1; echo "after 'chmod $mode $file':"; ls -l $file ;; esac diff --git a/tests/chmod/equals b/tests/chmod/equals index 54c39aedf..fd92055c2 100755 --- a/tests/chmod/equals +++ b/tests/chmod/equals @@ -32,15 +32,15 @@ for src in u g o; do for dest in u g o; do test $dest = $src && continue chmod a=,$src=rwx,$dest=$src,$src= f || fail=1 - actual_perms=`ls -l f|cut -b-10` - expected_perms=`eval 'echo \$expected_'$dest` + actual_perms=$(ls -l f|cut -b-10) + expected_perms=$(eval 'echo $expected_'$dest) test "$actual_perms" = "$expected_perms" || fail=1 done done umask 027 chmod a=,u=rwx,=u f || fail=1 -actual_perms=`ls -l f|cut -b-10` +actual_perms=$(ls -l f|cut -b-10) test "$actual_perms" = "-rwxr-x---" || fail=1 Exit $fail diff --git a/tests/chmod/setgid b/tests/chmod/setgid index 081c36e0d..7fc6db214 100755 --- a/tests/chmod/setgid +++ b/tests/chmod/setgid @@ -31,7 +31,7 @@ chmod g+s d 2> /dev/null && env -- test -g d || # to which you belong. When that happens, the above chmod fails. So # here, upon failure, we try to set the group, then rerun the chmod command. - id_g=`id -g` && + id_g=$(id -g) && test -n "$id_g" && chgrp "$id_g" d && chmod g+s d || framework_failure_ @@ -52,7 +52,7 @@ do expected_mode=drwxr-xr-x ;; *) expected_mode=drwxr-sr-x ;; esac - ls_output=`ls -ld d` + ls_output=$(ls -ld d) case $ls_output in $expected_mode*) ;; *) fail=1 ;; diff --git a/tests/chmod/usage b/tests/chmod/usage index 3a4d1b82a..9dd65f7cc 100755 --- a/tests/chmod/usage +++ b/tests/chmod/usage @@ -54,15 +54,15 @@ cases=' ug,+x f : ' -all_files=`echo "$cases" | sed 's/.*://'|sort -u` +all_files=$(echo "$cases" | sed 's/.*://'|sort -u) old_IFS=$IFS IFS=' ' for case in $cases; do IFS=$old_IFS - args=`expr "$case" : ' *\(.*[^ ]\) *:'` - files=`expr "$case" : '.*: *\(.*\)'` + args=$(expr "$case" : ' *\(.*[^ ]\) *:') + files=$(expr "$case" : '.*: *\(.*\)') case $files in '') -- cgit v1.2.3-54-g00ecf