runtest: further fixes from Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn AT...
authorDenis Vlasenko <vda.linux@googlemail.com>
Sun, 27 Apr 2008 03:33:29 +0000 (03:33 -0000)
committerDenis Vlasenko <vda.linux@googlemail.com>
Sun, 27 Apr 2008 03:33:29 +0000 (03:33 -0000)
testsuite/runtest

index b8b2da8e0749f9118cf18622a00a1e5a7959771a..5496395fa2649cd0f2056c4f3ad924fa7f424758 100755 (executable)
@@ -13,10 +13,11 @@ run_applet_testcase()
        local testcase="$2"
 
        local status
-       local uc_applet=$(echo $applet | tr a-z A-Z)
-       local testname=$(basename "$testcase")
+       local uc_applet=$(echo "$applet" | tr a-z A-Z)
+       local testname="$testcase"
 
-       if grep -q "^# CONFIG_${uc_applet} is not set$" $bindir/.config; then
+       testname=${testname##*/} # take basename
+       if grep -q "^# CONFIG_$uc_applet is not set$" "$bindir/.config"; then
                echo "UNTESTED: $testname"
                return 0
        fi
@@ -24,7 +25,7 @@ run_applet_testcase()
        if grep -q "^# FEATURE: " "$testcase"; then
                local feature=$(sed -ne 's/^# FEATURE: //p' "$testcase")
 
-               if grep -q "^# ${feature} is not set$" $bindir/.config; then
+               if grep -q "^# $feature is not set$" "$bindir/.config"; then
                        echo "UNTESTED: $testname"
                        return 0
                fi
@@ -57,8 +58,10 @@ run_applet_tests()
 {
        local applet=$1
        local status=0
-       for testcase in $tsdir/$applet/*; do
-               case $(basename "$testcase") in
+
+       for testcase in "$tsdir/$applet"/*; do
+               # switch on basename of $testcase
+               case "${testcase##*/}" in
                        \#*)
                                continue
                                ;;
@@ -78,8 +81,9 @@ run_applet_tests()
 
 
 
-[ -n "$tsdir" ] || tsdir=$(pwd)
-[ -n "$bindir" ] || bindir=$(dirname $(pwd))
+lcwd=$(pwd)
+[ "$tsdir" ] || tsdir="$lcwd"
+[ "$bindir" ] || bindir="${lcwd%/*}" # one directory up from $lcwd
 PATH="$bindir:$PATH"
 
 if [ x"$VERBOSE" = x ]; then
@@ -92,7 +96,7 @@ if [ x"$1" = x"-v" ]; then
 fi
 
 implemented=$(
-       $bindir/busybox 2>&1 |
+       "$bindir/busybox" 2>&1 |
        while read line; do
                if [ x"$line" = x"Currently defined functions:" ]; then
                        xargs | sed 's/,//g'
@@ -112,7 +116,7 @@ LINKSDIR="$bindir/runtest-tempdir-links"
 rm -rf "$LINKSDIR" 2>/dev/null
 mkdir "$LINKSDIR"
 for i in $implemented; do
-       ln -s $bindir/busybox "$LINKSDIR"/$i
+       ln -s "$bindir/busybox" "$LINKSDIR"/$i
 done
 
 # Set up option flags so tests can be selective.