shell/msh_test/msh-bugs/noeol3.right+0 -1
| @@ -1 +0,0 @@ |
| - | hush: syntax error: unterminated " |
shell/msh_test/msh-bugs/noeol3.tests+0 -2
| @@ -1,2 +0,0 @@ |
| - | # last line has no EOL! |
| - | echo "unterminated |
shell/msh_test/msh-bugs/process_subst.right+0 -3
| @@ -1,3 +0,0 @@ |
| - | TESTzzBEST |
| - | TEST$(echo zz)BEST |
| - | TEST'BEST |
shell/msh_test/msh-bugs/process_subst.tests+0 -3
| @@ -1,3 +0,0 @@ |
| - | echo "TEST`echo zz;echo;echo`BEST" |
| - | echo "TEST`echo '$(echo zz)'`BEST" |
| - | echo "TEST`echo "'"`BEST" |
shell/msh_test/msh-bugs/read.right+0 -4
| @@ -1,4 +0,0 @@ |
| - | read |
| - | cat |
| - | echo "REPLY=$REPLY" |
| - | REPLY=exec <read.tests |
shell/msh_test/msh-bugs/read.tests+0 -4
| @@ -1,4 +0,0 @@ |
| - | exec <read.tests |
| - | read |
| - | cat |
| - | echo "REPLY=$REPLY" |
shell/msh_test/msh-bugs/shift.right+0 -6
| @@ -1,6 +0,0 @@ |
| - | ./shift.tests abc d e |
| - | ./shift.tests d e 123 |
| - | ./shift.tests d e 123 |
| - | ./shift.tests |
| - | ./shift.tests |
| - | ./shift.tests |
shell/msh_test/msh-bugs/shift.tests+0 -14
| @@ -1,14 +0,0 @@ |
| - | if test $# = 0; then |
| - | exec "$THIS_SH" $0 abc "d e" 123 |
| - | fi |
| - | echo $0 $1 $2 |
| - | shift |
| - | echo $0 $1 $2 |
| - | shift 999 |
| - | echo $0 $1 $2 |
| - | shift 2 |
| - | echo $0 $1 $2 |
| - | shift 2 |
| - | echo $0 $1 $2 |
| - | shift |
| - | echo $0 $1 $2 |
shell/msh_test/msh-bugs/starquoted.right+0 -8
| @@ -1,8 +0,0 @@ |
| - | .1 abc d e f. |
| - | .1. |
| - | .abc. |
| - | .d e f. |
| - | .-1 abc d e f-. |
| - | .-1. |
| - | .abc. |
| - | .d e f-. |
shell/msh_test/msh-bugs/starquoted.tests+0 -8
| @@ -1,8 +0,0 @@ |
| - | if test $# = 0; then |
| - | exec "$THIS_SH" "$0" 1 abc 'd e f' |
| - | fi |
| - | |
| - | for a in "$*"; do echo ".$a."; done |
| - | for a in "$@"; do echo ".$a."; done |
| - | for a in "-$*-"; do echo ".$a."; done |
| - | for a in "-$@-"; do echo ".$a."; done |
shell/msh_test/msh-bugs/syntax_err.right+0 -2
| @@ -1,2 +0,0 @@ |
| - | shown |
| - | hush: syntax error: unterminated ' |
shell/msh_test/msh-bugs/syntax_err.tests+0 -3
| @@ -1,3 +0,0 @@ |
| - | echo shown |
| - | echo test `echo 'aa` |
| - | echo not shown |
shell/msh_test/msh-bugs/var_expand_in_assign.right+0 -5
| @@ -1,5 +0,0 @@ |
| - | . . |
| - | .abc d e. |
| - | .abc d e. |
| - | .abc d e. |
| - | .abc d e. |
shell/msh_test/msh-bugs/var_expand_in_assign.tests+0 -15
| @@ -1,15 +0,0 @@ |
| - | if test $# = 0; then |
| - | exec "$THIS_SH" "$0" abc "d e" |
| - | fi |
| - | |
| - | space=' ' |
| - | echo .$space. |
| - | |
| - | a=$* |
| - | echo .$a. |
| - | a=$@ |
| - | echo .$a. |
| - | a="$*" |
| - | echo .$a. |
| - | a="$@" |
| - | echo .$a. |
shell/msh_test/msh-bugs/var_expand_in_redir.right+0 -3
| @@ -1,3 +0,0 @@ |
| - | TEST1 |
| - | TEST2 |
| - | TEST3 |
shell/msh_test/msh-bugs/var_expand_in_redir.tests+0 -13
| @@ -1,13 +0,0 @@ |
| - | if test $# = 0; then |
| - | exec "$THIS_SH" "$0" abc "d e" |
| - | fi |
| - | |
| - | echo TEST1 >"$1.out" |
| - | echo TEST2 >"$2.out" |
| - | # bash says: "[email protected]": ambiguous redirect |
| - | # ash handles it as if it is '$*' - we do the same |
| - | echo TEST3 >"[email protected]" |
| - | |
| - | cat abc.out "d e.out" "abc d e.out" |
| - | |
| - | rm abc.out "d e.out" "abc d e.out" |
shell/msh_test/msh-execution/exitcode_EACCES.right+0 -2
| @@ -1,2 +0,0 @@ |
| - | ./: can't execute |
| - | 126 |
shell/msh_test/msh-execution/exitcode_EACCES.tests+0 -2
| @@ -1,2 +0,0 @@ |
| - | ./ |
| - | echo $? |
shell/msh_test/msh-execution/exitcode_ENOENT.right+0 -2
| @@ -1,2 +0,0 @@ |
| - | ./does_not_exist_for_sure: not found |
| - | 127 |
shell/msh_test/msh-execution/exitcode_ENOENT.tests+0 -2
| @@ -1,2 +0,0 @@ |
| - | ./does_not_exist_for_sure |
| - | echo $? |
shell/msh_test/msh-execution/many_continues.right+0 -1
shell/msh_test/msh-execution/many_continues.tests+0 -15
| @@ -1,15 +0,0 @@ |
| - | if test $# = 0; then |
| - | # Child will kill us in 1 second |
| - | "$THIS_SH" "$0" $$ & |
| - | |
| - | # Loop many, many times |
| - | trap 'echo OK; exit 0' 15 |
| - | while true; do |
| - | continue |
| - | done |
| - | echo BAD |
| - | exit 1 |
| - | fi |
| - | |
| - | sleep 1 |
| - | kill $1 |
shell/msh_test/msh-execution/nested_break.right+0 -8
| @@ -1,8 +0,0 @@ |
| - | A |
| - | B |
| - | iteration |
| - | C |
| - | A |
| - | B |
| - | iteration |
| - | D |
shell/msh_test/msh-execution/nested_break.tests+0 -17
| @@ -1,17 +0,0 @@ |
| - | # Testcase for http://bugs.busybox.net/view.php?id=846 |
| - | |
| - | n=0 |
| - | while : |
| - | do |
| - | echo A |
| - | while : |
| - | do |
| - | echo B |
| - | break |
| - | done |
| - | echo iteration |
| - | [ $n = 1 ] && break |
| - | echo C |
| - | n=`expr $n + 1` |
| - | done |
| - | echo D |
shell/msh_test/msh-misc/tick.right+0 -2
shell/msh_test/msh-misc/tick.tests+0 -4
| @@ -1,4 +0,0 @@ |
| - | true |
| - | false; echo `echo $?` |
| - | true |
| - | { false; echo `echo $?`; } |
shell/msh_test/msh-parsing/argv0.right+0 -1
shell/msh_test/msh-parsing/argv0.tests+0 -4
| @@ -1,4 +0,0 @@ |
| - | if test $# = 0; then |
| - | exec "$THIS_SH" "$0" arg |
| - | fi |
| - | echo OK |
shell/msh_test/msh-parsing/noeol.right+0 -1
shell/msh_test/msh-parsing/noeol.tests+0 -2
| @@ -1,2 +0,0 @@ |
| - | # next line has no EOL! |
| - | echo HELLO |
shell/msh_test/msh-parsing/noeol2.right+0 -1
shell/msh_test/msh-parsing/noeol2.tests+0 -7
| @@ -1,7 +0,0 @@ |
| - | # last line has no EOL! |
| - | if true |
| - | then |
| - | echo 1 |
| - | else |
| - | echo 2 |
| - | fi |
shell/msh_test/msh-parsing/quote1.right+0 -1
shell/msh_test/msh-parsing/quote1.tests+0 -2
| @@ -1,2 +0,0 @@ |
| - | a=1 |
| - | echo "'$a'" |
shell/msh_test/msh-parsing/quote2.right+0 -1
shell/msh_test/msh-parsing/quote2.tests+0 -2
| @@ -1,2 +0,0 @@ |
| - | a=1 |
| - | echo ">$a" |
shell/msh_test/msh-parsing/quote3.right+0 -3
| @@ -1,3 +0,0 @@ |
| - | Testing: in $empty"" |
| - | .. |
| - | Finished |
shell/msh_test/msh-parsing/quote3.tests+0 -8
| @@ -1,8 +0,0 @@ |
| - | if test $# = 0; then |
| - | exec "$THIS_SH" quote3.tests abc "d e" |
| - | fi |
| - | |
| - | echo 'Testing: in $empty""' |
| - | empty='' |
| - | for a in $empty""; do echo ".$a."; done |
| - | echo Finished |
shell/msh_test/msh-parsing/quote4.right+0 -1
shell/msh_test/msh-parsing/quote4.tests+0 -2
| @@ -1,2 +0,0 @@ |
| - | a_b='a b' |
| - | echo "$a_b" |
shell/msh_test/msh-vars/star.right+0 -6
| @@ -1,6 +0,0 @@ |
| - | .1. |
| - | .abc. |
| - | .d. |
| - | .e. |
| - | .f. |
| - | .1 abc d e f. |
shell/msh_test/msh-vars/star.tests+0 -8
| @@ -1,8 +0,0 @@ |
| - | if test $# = 0; then |
| - | exec "$THIS_SH" star.tests 1 abc 'd e f' |
| - | fi |
| - | # 'd e f' should be split into 3 separate args: |
| - | for a in $*; do echo ".$a."; done |
| - | |
| - | # must produce .1 abc d e f. |
| - | for a in "$*"; do echo ".$a."; done |
shell/msh_test/msh-vars/var.right+0 -4
| @@ -1,4 +0,0 @@ |
| - | http://busybox.net |
| - | http://busybox.net_abc |
| - | 1 |
| - | 1 |
shell/msh_test/msh-vars/var.tests+0 -9
| @@ -1,9 +0,0 @@ |
| - | URL=http://busybox.net |
| - | |
| - | echo $URL |
| - | echo ${URL}_abc |
| - | |
| - | true |
| - | false; echo $? |
| - | true |
| - | { false; echo $?; } |
shell/msh_test/msh-vars/var_subst_in_for.right+0 -40
| @@ -1,40 +0,0 @@ |
| - | Testing: in x y z |
| - | .x. |
| - | .y. |
| - | .z. |
| - | Testing: in u $empty v |
| - | .u. |
| - | .v. |
| - | Testing: in u " $empty" v |
| - | .u. |
| - | . . |
| - | .v. |
| - | Testing: in u $empty $empty$a v |
| - | .u. |
| - | .a. |
| - | .v. |
| - | Testing: in $a_b |
| - | .a. |
| - | .b. |
| - | Testing: in $* |
| - | .abc. |
| - | .d. |
| - | .e. |
| - | Testing: in $@ |
| - | .abc. |
| - | .d. |
| - | .e. |
| - | Testing: in -$*- |
| - | .-abc. |
| - | .d. |
| - | .e-. |
| - | Testing: in -$@- |
| - | .-abc. |
| - | .d. |
| - | .e-. |
| - | Testing: in $a_b -$a_b- |
| - | .a. |
| - | .b. |
| - | .-a. |
| - | .b-. |
| - | Finished |
shell/msh_test/msh-vars/var_subst_in_for.tests+0 -40
| @@ -1,40 +0,0 @@ |
| - | if test $# = 0; then |
| - | exec "$THIS_SH" var_subst_in_for.tests abc "d e" |
| - | fi |
| - | |
| - | echo 'Testing: in x y z' |
| - | for a in x y z; do echo ".$a."; done |
| - | |
| - | echo 'Testing: in u $empty v' |
| - | empty='' |
| - | for a in u $empty v; do echo ".$a."; done |
| - | |
| - | echo 'Testing: in u " $empty" v' |
| - | empty='' |
| - | for a in u " $empty" v; do echo ".$a."; done |
| - | |
| - | echo 'Testing: in u $empty $empty$a v' |
| - | a='a' |
| - | for a in u $empty $empty$a v; do echo ".$a."; done |
| - | |
| - | echo 'Testing: in $a_b' |
| - | a_b='a b' |
| - | for a in $a_b; do echo ".$a."; done |
| - | |
| - | echo 'Testing: in $*' |
| - | for a in $*; do echo ".$a."; done |
| - | |
| - | echo 'Testing: in $@' |
| - | for a in $@; do echo ".$a."; done |
| - | |
| - | echo 'Testing: in -$*-' |
| - | for a in -$*-; do echo ".$a."; done |
| - | |
| - | echo 'Testing: in -$@-' |
| - | for a in -$@-; do echo ".$a."; done |
| - | |
| - | echo 'Testing: in $a_b -$a_b-' |
| - | a_b='a b' |
| - | for a in $a_b -$a_b-; do echo ".$a."; done |
| - | |
| - | echo Finished |
shell/msh_test/run-all+0 -64
| @@ -1,64 +0,0 @@ |
| - | #!/bin/sh |
| - | |
| - | test -x msh || { |
| - | echo "No ./msh - creating a link to ../../busybox" |
| - | ln -s ../../busybox msh |
| - | } |
| - | |
| - | PATH="$PWD:$PATH" # for msh |
| - | export PATH |
| - | |
| - | THIS_SH="$PWD/msh" |
| - | export THIS_SH |
| - | |
| - | do_test() |
| - | { |
| - | test -d "$1" || return 0 |
| - | # echo Running tests in directory "$1" |
| - | ( |
| - | cd "$1" || { echo "cannot cd $1!"; exit 1; } |
| - | for x in run-*; do |
| - | test -f "$x" || continue |
| - | case "$x" in |
| - | "$0"|run-minimal|run-gprof) ;; |
| - | *.orig|*~) ;; |
| - | #*) echo $x ; sh $x ;; |
| - | *) |
| - | sh "$x" >"../$1-$x.fail" 2>&1 && \ |
| - | { echo "$1/$x: ok"; rm "../$1-$x.fail"; } || echo "$1/$x: fail"; |
| - | ;; |
| - | esac |
| - | done |
| - | # Many bash run-XXX scripts just do this, |
| - | # no point in duplication it all over the place |
| - | for x in *.tests; do |
| - | test -x "$x" || continue |
| - | name="${x%%.tests}" |
| - | test -f "$name.right" || continue |
| - | # echo Running test: "$name.right" |
| - | { |
| - | "$THIS_SH" "./$x" >"$name.xx" 2>&1 |
| - | diff -u "$name.xx" "$name.right" >"../$1-$x.fail" && rm -f "$name.xx" "../$1-$x.fail" |
| - | } && echo "$1/$x: ok" || echo "$1/$x: fail" |
| - | done |
| - | ) |
| - | } |
| - | |
| - | # Main part of this script |
| - | # Usage: run-all [directories] |
| - | |
| - | if [ $# -lt 1 ]; then |
| - | # All sub directories |
| - | modules=`ls -d msh-*` |
| - | |
| - | for module in $modules; do |
| - | do_test $module |
| - | done |
| - | else |
| - | while [ $# -ge 1 ]; do |
| - | if [ -d $1 ]; then |
| - | do_test $1 |
| - | fi |
| - | shift |
| - | done |
| - | fi |