shtests revision da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968
1337N/A# This program runs ksh regression tests
1337N/A# shtests [ name=value ... ] a.sh b.sh ...
1337N/A
1337N/Aunset DISPLAY ENV FIGNORE
1337N/ALANG=C
1337N/ALC_ALL=C
1337N/Atime=1
1337N/Awhile :
1337N/Ado case $1 in
1337N/A *=*) n=${1%%=*}
1337N/A v=${1#*=}
1337N/A eval $n=\'$v\'
1337N/A export $n
1337N/A ;;
1337N/A -t|--t*)time=
1337N/A ;;
1337N/A *) break
1337N/A ;;
1337N/A esac
1337N/A shift
1337N/Adone
1337N/Aexport LANG LC_ALL PATH PWD SHELL
3744N/APWD=`pwd`
1337N/ASHELL=${SHELL-ksh}
1337N/Acase $0 in
1337N/A/*) d=`dirname $0`;;
1337N/A*/*) d=$PWD/`dirname $0`;;
1337N/A*) d=$PWD;;
1337N/Aesac
1337N/Acase $SHELL in
1337N/A/*) ;;
1337N/A*/*) SHELL=$d/$SHELL;;
1337N/A*) SHELL=$(whence $SHELL);;
1337N/Aesac
1337N/APATH=/bin:/usr/bin
1337N/Aif [[ -d /usr/ucb ]]
1337N/Athen PATH=$PATH:/usr/ucb
2899N/Afi
2899N/APATH=$PATH:$d
2818N/Aif [[ $INSTALLROOT && -r $INSTALLROOT/bin/.paths ]]
2899N/Athen PATH=$INSTALLROOT/bin:$PATH
2818N/Afi
1337N/Afor i in ${*-*.sh}
1337N/Ado echo test $i begins ${time:+"at $(date +%Y-%m-%d+%H:%M:%S)"}
1337N/A t=$(grep -c err_exit $i)
1337N/A if (( $t ))
1699N/A then (( t = $t - 1 ))
2790N/A fi
1699N/A T=test
1699N/A if (( $t != 1 ))
3744N/A then T=${T}s
3744N/A fi
3744N/A E=error
3744N/A if $SHELL $i
3744N/A then echo test $i passed ${time:+"at $(date +%Y-%m-%d+%H:%M:%S)"} "[ $t $T 0 ${E}s ]"
3744N/A else e=$?
3744N/A E=error
3744N/A if (( $e != 1 ))
3744N/A then E=${E}s
3744N/A fi
3744N/A echo test $i failed ${time:+"at $(date +%Y-%m-%d+%H:%M:%S)"} with exit code $e "[ $t $T $e $E ]"
3744N/A fi
3744N/Adone
3744N/A