diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-05 13:07:02 +0400 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-05 13:07:02 +0400 |
commit | 66d56c565e48a73309cca55e2d1a2225d9fcc8d9 (patch) | |
tree | 04d3a90ae936479c11d02d7194d32ead49eccf30 /shell | |
parent | 50120dab4e78e6531d640fe8f86675f8d06a7467 (diff) |
ash testsuite: modify it so that it can run hush and msh tests
Diffstat (limited to 'shell')
-rwxr-xr-x | shell/ash_test/run-all | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/shell/ash_test/run-all b/shell/ash_test/run-all index e02333888..b0a6d1088 100755 --- a/shell/ash_test/run-all +++ b/shell/ash_test/run-all @@ -1,5 +1,7 @@ #!/bin/sh +TOPDIR=$PWD + test -x ash || { echo "No ./ash?! Perhaps you want to run 'ln -s ../../busybox ash'" exit @@ -18,6 +20,8 @@ do_test() { test -d "$1" || return 0 echo do_test "$1" + # $1 but with / replaced by # so that it can be used as filename part + noslash=`echo "$1" | sed 's:/:#:g'` ( cd "$1" || { echo "cannot cd $1!"; exit 1; } for x in run-*; do @@ -27,8 +31,8 @@ do_test() *.orig|*~) ;; #*) echo $x ; sh $x ;; *) - sh "$x" >"../$1-$x.fail" 2>&1 && \ - { echo "$1/$x: ok"; rm "../$1-$x.fail"; } || echo "$1/$x: fail"; + sh "$x" >"$TOPDIR/$noslash-$x.fail" 2>&1 && \ + { echo "$1/$x: ok"; rm "$TOPDIR/$noslash-$x.fail"; } || echo "$1/$x: fail"; ;; esac done @@ -40,7 +44,8 @@ do_test() test -f "$name.right" || continue { "$THIS_SH" "./$x" >"$name.xx" 2>&1 - diff -u "$name.xx" "$name.right" >"../$1-$x.fail" && rm -f "$name.xx" "../$1-$x.fail" + diff -u "$name.xx" "$name.right" >"$TOPDIR/$noslash-$x.fail" \ + && rm -f "$name.xx" "$TOPDIR/$noslash-$x.fail" } && echo "$1/$x: ok" || echo "$1/$x: fail" done ) @@ -52,6 +57,9 @@ do_test() if [ $# -lt 1 ]; then # All sub directories modules=`ls -d ash-*` + # If you want to test ash against hush and msh testsuites + # (have to copy hush_test and msh_test dirs to current dir first): + #modules=`ls -d ash-* hush_test/hush-* msh_test/msh-*` for module in $modules; do do_test $module |