diff --git a/bin/test/TEST.README b/bin/test/TEST.README deleted file mode 100644 index 4fe352487605..000000000000 --- a/bin/test/TEST.README +++ /dev/null @@ -1,24 +0,0 @@ -# $FreeBSD$ - -OS/shell syntax error failed --------------------------------------------------------------------- -bash 1.14.5 3 0 -pdksh 5.2.5 7 0 -zsh 2.6-beta17 6 4 -FreeBSD 2.1 /bin/test 8 0 -IRIX 5.3 ksh 3 0 -IRIX 5.3 sh 3 0 -IRIX 5.3 /usr/bin/test 11 3 -SunOS 5.4 ksh 3 0 -SunOS 5.4 sh 3 0 -SunOS 5.4 /usr/ucb/test 3 0 -SunOS 5.5 ksh 0 0 -SunOS 5.5 sh 3 0 -SunOS 5.5 /usr/ucb/test 3 0 -SunOS 4.1.3_U1 sh 3 0 -SunOS 4.1.3_U1 /usr/bin/test 3 0 -ULTRIX 4.2 /bin/test 9 0 -ULTRIX 4.2 ksh 1 0 -ULTRIX 4.2 sh5 4 0 - -96/06/16 diff --git a/bin/test/TEST.csh b/bin/test/TEST.csh deleted file mode 100644 index afa1c91f158a..000000000000 --- a/bin/test/TEST.csh +++ /dev/null @@ -1,152 +0,0 @@ -# @(#)TEST.csh 5.2 (Berkeley) 4/30/93 -# $FreeBSD$ - -#alias t '/usr/src/bin/test/obj/test \!*; echo $status' -alias t '/bin/test \!*; echo $status' - -echo 't -b /dev/ttyp2' -t -b /dev/ttyp2 -echo 't -b /dev/jb1a' -t -b /dev/jb1a - -echo 't -c test.c' -t -c test.c -echo 't -c /dev/tty' -t -c /dev/tty - -echo 't -d test.c' -t -d test.c -echo 't -d /etc' -t -d /etc - -echo 't -e noexist' -t -e noexist -echo 't -e test.c' -t -e test.c - -echo 't -f noexist' -t -f noexist -echo 't -f /dev/tty' -t -f /dev/tty -echo 't -f test.c' -t -f test.c - -echo 't -g test.c' -t -g test.c -echo 't -g /bin/ps' -t -g /bin/ps - -echo 't -n ""' -t -n "" -echo 't -n "hello"' -t -n "hello" - -echo 't -p test.c' -t -p test.c - -echo 't -r noexist' -t -r noexist -echo 't -r /etc/master.passwd' -t -r /etc/master.passwd -echo 't -r test.c' -t -r test.c - -echo 't -s noexist' -t -s noexist -echo 't -s /dev/null' -t -s /dev/null -echo 't -s test.c' -t -s test.c - -echo 't -t 20' -t -t 20 -echo 't -t 0' -t -t 0 - -echo 't -u test.c' -t -u test.c -echo 't -u /bin/rcp' -t -u /bin/rcp - -echo 't -w noexist' -t -w noexist -echo 't -w /etc/master.passwd' -t -w /etc/master.passwd -echo 't -w /dev/null' -t -w /dev/null - -echo 't -x noexist' -t -x noexist -echo 't -x /bin/ps' -t -x /bin/ps -echo 't -x /etc/motd' -t -x /etc/motd - -echo 't -z ""' -t -z "" -echo 't -z "foo"' -t -z "foo" - -echo 't "foo"' -t "foo" -echo 't ""' -t "" - -echo 't "hello" = "hello"' -t "hello" = "hello" -echo 't "hello" = "goodbye"' -t "hello" = "goodbye" - -echo 't "hello" != "hello"' -t "hello" != "hello" -echo 't "hello" != "goodbye"' -t "hello" != "goodbye" - -echo 't 200 -eq 200' -t 200 -eq 200 -echo 't 34 -eq 222' -t 34 -eq 222 - -echo 't 200 -ne 200' -t 200 -ne 200 -echo 't 34 -ne 222' -t 34 -ne 222 - -echo 't 200 -gt 200' -t 200 -gt 200 -echo 't 340 -gt 222' -t 340 -gt 222 - -echo 't 200 -ge 200' -t 200 -ge 200 -echo 't 34 -ge 222' -t 34 -ge 222 - -echo 't 200 -lt 200' -t 200 -lt 200 -echo 't 34 -lt 222' -t 34 -lt 222 - -echo 't 200 -le 200' -t 200 -le 200 -echo 't 340 -le 222' -t 340 -le 222 - -echo 't 700 -le 1000 -a -n "1" -a "20" = "20"' -t 700 -le 1000 -a -n "1" -a "20" = "20" -echo 't ! \( 700 -le 1000 -a -n "1" -a "20" = "20" \)' -t ! \( 700 -le 1000 -a -n "1" -a "20" = "20" \) - -echo 't -5 -eq 5' -t -5 -eq 5 - - -echo 't foo -a ""' -t foo -a "" -echo 't "" -a foo' -t "" -a foo -echo 't "" -a ""' -t "" -a "" -echo 't "" -o ""' -t "" -o "" - diff --git a/tools/regression/bin/Makefile b/tools/regression/bin/Makefile index e0e3ea3820b7..1dcdbb396c6d 100644 --- a/tools/regression/bin/Makefile +++ b/tools/regression/bin/Makefile @@ -1,5 +1,5 @@ # $FreeBSD$ -SUBDIR= date mv pax sh +SUBDIR= date mv pax sh test .include diff --git a/tools/regression/bin/test/Makefile b/tools/regression/bin/test/Makefile new file mode 100644 index 000000000000..2c9ca5943505 --- /dev/null +++ b/tools/regression/bin/test/Makefile @@ -0,0 +1,4 @@ +# $FreeBSD$ + +all: + sh regress.sh diff --git a/bin/test/TEST.sh b/tools/regression/bin/test/regress.sh similarity index 87% rename from bin/test/TEST.sh rename to tools/regression/bin/test/regress.sh index 6dd16bc98993..716c26050c05 100644 --- a/bin/test/TEST.sh +++ b/tools/regression/bin/test/regress.sh @@ -1,177 +1,159 @@ #!/bin/sh #- # Copyright (c) June 1996 Wolfram Schneider . Berlin. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # TEST.sh - check if test(1) or builtin test works # # $FreeBSD$ -# force a specified test program, e.g. `env test=/bin/test sh TEST.sh' +# force a specified test program, e.g. `env test=/bin/test sh regress.sh' : ${test=test} -ERROR=0 FAILED=0 - t () { # $1 -> exit code # $2 -> $test expression - echo -n "$1: $test $2 " - + count=$((count+1)) # check for syntax errors syntax="`eval $test $2 2>&1`" - if test -z "$syntax"; then - - case $1 in - 0) if eval $test $2; then echo " OK"; else failed;fi;; - 1) if eval $test $2; then failed; else echo " OK";fi;; - esac - + ret=$? + if test -n "$syntax"; then + printf "not ok %s - (syntax error)\n" "$count $2" + elif [ "$ret" != "$1" ]; then + printf "not ok %s - (got $ret, expected $1)\n" "$count $2" else - error + printf "ok %s\n" "$count $2" fi } -error () -{ - echo ""; echo " $syntax" - ERROR=`expr $ERROR + 1` -} - -failed () -{ - echo ""; echo " failed" - FAILED=`expr $FAILED + 1` -} - +count=0 +echo "1..94" t 0 'b = b' t 1 'b != b' t 0 '\( b = b \)' t 1 '! \( b = b \)' t 1 '! -f /etc/passwd' t 0 '-h = -h' t 0 '-o = -o' t 1 '-f = h' t 1 '-h = f' t 1 '-o = f' t 1 'f = -o' t 0 '\( -h = -h \)' t 1 '\( a = -h \)' t 1 '\( -f = h \)' t 0 '-h = -h -o a' t 0 '\( -h = -h \) -o 1' t 0 '-h = -h -o -h = -h' t 0 '\( -h = -h \) -o \( -h = -h \)' t 0 'roedelheim = roedelheim' t 1 'potsdam = berlin-dahlem' t 0 '-d /' t 0 '-d / -a a != b' t 1 '-z "-z"' t 0 '-n -n' t 0 '0' t 0 '\( 0 \)' t 0 '-E' t 0 '-X -a -X' t 0 '-XXX' t 0 '\( -E \)' t 0 'true -o X' t 0 'true -o -X' t 0 '\( \( \( a = a \) -o 1 \) -a 1 \) -a true' t 1 '-h /' t 0 '-r /' t 1 '-w /' t 0 '-x /bin/sh' t 0 '-c /dev/null' t 0 '-f /etc/passwd' t 0 '-s /etc/passwd' t 1 '! \( 700 -le 1000 -a -n "1" -a "20" = "20" \)' t 0 '100 -eq 100' t 0 '100 -lt 200' t 1 '1000 -lt 200' t 0 '1000 -gt 200' t 0 '1000 -ge 200' t 0 '1000 -ge 1000' t 1 '2 -ne 2' t 0 '0 -eq 0' t 1 '-5 -eq 5' t 0 '\( 0 -eq 0 \)' t 1 '1 -eq 0 -o a = a -a 1 -eq 0 -o a = aa' t 1 '"" -o ""' t 1 '"" -a ""' t 1 '"a" -a ""' t 0 '"a" -a ! ""' t 1 '""' t 0 '! ""' t 0 '!' t 0 '\(' t 0 '\)' t 1 '\( = \)' t 0 '\( != \)' t 0 '\( ! \)' t 0 '\( \( \)' t 0 '\( \) \)' t 0 '! = !' t 1 '! != !' t 1 '-n = \)' t 0 '! != \)' t 1 '! = a' t 0 '! != -n' t 0 '! -c /etc/passwd' t 0 '! \( = \)' t 1 '! \( != \)' t 1 '! = = =' t 0 '! = = \)' t 0 '! "" -o ""' t 1 '! "x" -o ""' t 1 '! "" -o "x"' t 1 '! "x" -o "x"' t 0 '\( -f /etc/passwd \)' t 1 '\( ! = \)' t 0 '\( ! "" \)' t 1 '\( ! -e \)' t 0 '0 -eq 0 -a -d /' t 0 '-s = "" -o "" = ""' t 0 '"" = "" -o -s = ""' t 1 '-s = "" -o -s = ""' t 0 '-z x -o x = "#" -o x = x' t 1 '-z y -o y = "#" -o y = x' t 0 '0 -ne 0 -o ! -f /' t 0 '1 -ne 0 -o ! -f /etc/passwd' t 1 '0 -ne 0 -o ! -f /etc/passwd' - -echo "" -echo "Syntax errors: $ERROR Failed: $FAILED" diff --git a/tools/regression/bin/test/regress.t b/tools/regression/bin/test/regress.t new file mode 100644 index 000000000000..c36d8342d32a --- /dev/null +++ b/tools/regression/bin/test/regress.t @@ -0,0 +1,6 @@ +#!/bin/sh +# $FreeBSD$ + +cd `dirname $0` + +sh regress.sh