legacy_test.sh revision 16491
116491Swosch#!/bin/sh 216491Swosch# (c) Wolfram Schneider, Berlin. June 1996. Public domain. 316491Swosch# 416491Swosch# TEST.sh - check if test(1) or builtin test works 516491Swosch# 616491Swosch# $Id: $ 716491Swosch 816491Swosch# force a specified test program, e.g. `env test=/bin/test sh TEST.sh' 916491Swosch: ${test=test} 1016491Swosch 1116491SwoschERROR=0 FAILED=0 1216491Swosch 1316491Swoscht () 1416491Swosch{ 1516491Swosch # $1 -> exit code 1616491Swosch # $2 -> $test expression 1716491Swosch 1816491Swosch echo -n "$test $2 " 1916491Swosch 2016491Swosch # check for syntax errors 2116491Swosch syntax="`eval $test $2 2>&1`" 2216491Swosch if test -z "$syntax"; then 2316491Swosch 2416491Swosch case $1 in 2516491Swosch 0) if eval $test $2; then echo " OK"; else failed;fi;; 2616491Swosch 1) if eval $test $2; then failed; else echo " OK";fi;; 2716491Swosch esac 2816491Swosch 2916491Swosch else 3016491Swosch error 3116491Swosch fi 3216491Swosch} 3316491Swosch 3416491Swoscherror () 3516491Swosch{ 3616491Swosch echo ""; echo " $syntax" 3716491Swosch ERROR=`expr $ERROR + 1` 3816491Swosch} 3916491Swosch 4016491Swoschfailed () 4116491Swosch{ 4216491Swosch echo ""; echo " failed" 4316491Swosch FAILED=`expr $FAILED + 1` 4416491Swosch} 4516491Swosch 4616491Swosch 4716491Swoscht 0 'b = b' 4816491Swoscht 1 'b != b' 4916491Swoscht 0 '\( b = b \)' 5016491Swoscht 1 '! \( b = b \)' 5116491Swoscht 1 '! -f /etc/passwd' 5216491Swosch 5316491Swoscht 0 '-h = -h' 5416491Swoscht 0 '-o = -o' 5516491Swosch 5616491Swoscht 1 '-f = h' 5716491Swoscht 1 '-h = f' 5816491Swoscht 1 '-o = f' 5916491Swoscht 1 'f = -o' 6016491Swoscht 0 '\( -h = -h \)' 6116491Swoscht 1 '\( a = -h \)' 6216491Swoscht 1 '\( -f = h \)' 6316491Swosch 6416491Swosch 6516491Swoscht 1 '\( -f = h \)' 6616491Swosch 6716491Swoscht 0 '-h = -h -o a' 6816491Swoscht 0 '\( -h = -h \) -o 1' 6916491Swosch 7016491Swoscht 0 '-h = -h -o -h = -h' 7116491Swoscht 0 '\( -h = -h \) -o \( -h = -h \)' 7216491Swosch 7316491Swoscht 0 '-d /' 7416491Swoscht 0 '-d / -a a != b' 7516491Swoscht 1 '-z "-z"' 7616491Swoscht 0 '-n -n' 7716491Swoscht 0 '0 -eq 0' 7816491Swoscht 0 '\( 0 -eq 0 \)' 7916491Swoscht 1 '1 -eq 0 -o a = a -a 1 -eq 0 -o a = aa' 8016491Swosch 8116491Swoscht 0 '0' 8216491Swoscht 0 '\( 0 \)' 8316491Swoscht 0 '-E' 8416491Swoscht 0 '-X -a -X' 8516491Swoscht 0 '-XXX' 8616491Swoscht 0 '\( -E \)' 8716491Swoscht 0 'true -o X' 8816491Swoscht 0 'true -o -X' 8916491Swoscht 0 '\( \( \( a = a \) -o 1 \) -a 1 \) -a true' 9016491Swoscht 1 '-h /' 9116491Swoscht 0 '-r /' 9216491Swoscht 1 '-w /' 9316491Swoscht 0 '-x /bin/sh' 9416491Swoscht 0 '-c /dev/null' 9516491Swoscht 0 '-b /dev/fd0a -o -b /dev/rfd0a -o true' 9616491Swoscht 0 '-f /etc/passwd' 9716491Swoscht 0 '-s /etc/passwd' 9816491Swoscht 1 '! \( 700 -le 1000 -a -n "1" -a "20" = "20" \)' 9916491Swoscht 0 '100 -eq 100' 10016491Swoscht 0 '100 -lt 200' 10116491Swoscht 1 '1000 -lt 200' 10216491Swoscht 0 '1000 -gt 200' 10316491Swoscht 0 '1000 -ge 200' 10416491Swoscht 0 '1000 -ge 1000' 10516491Swoscht 1 '2 -ne 2' 10616491Swosch 10716491Swoschecho "" 10816491Swoschecho "Syntax errors: $ERROR Failed: $FAILED" 10916491Swosch 110