diff --git a/bin/package b/bin/package index ecd8fc4d3..06871bf76 100755 --- a/bin/package +++ b/bin/package @@ -109,7 +109,7 @@ command=${0##*/} case $(getopts '[-][123:xyz]' opt --xyz 2>/dev/null; echo 0$opt) in 0123) USAGE=$' [-? -@(#)$Id: '$command$' (ksh 93u+m) 2022-06-12 $ +@(#)$Id: '$command$' (ksh 93u+m) 2022-07-22 $ ] [-author?Glenn Fowler ] [-author?Contributors to https://github.com/ksh93/ksh] @@ -608,7 +608,7 @@ case $_PACKAGE_HOSTTYPE_ in ;; esac KEEP_PACKAGEROOT=0 -KEEP_SHELL=0 +KEEP_SHELL=0 # set to 1 if SHELL is a known-good system shell, 2 if SHELL supplied by user USER_VPATH= args= assign= @@ -646,7 +646,7 @@ do case $i in ;; SHELL=*)eval $n='$'v case $SHELL in - ?*) KEEP_SHELL=1 ;; + ?*) KEEP_SHELL=2 ;; esac ;; VPATH=*)eval USER_$n='$'v @@ -721,7 +721,7 @@ use) case $1 in $exec export VPATH=$A:$P $exec export nativepp=/usr/lib - if test '' != "$INSTALLROOT" -a -d $INSTALLROOT/include/ast + if test -n "$INSTALLROOT" && test -d "$INSTALLROOT/include/ast" then $exec export PACKAGE_ast=$INSTALLROOT elif test -d ${PWD%/*}/ast/arch/$HOSTTYPE then $exec export PACKAGE_ast=${PWD%/*}/ast/arch/$HOSTTYPE @@ -750,7 +750,7 @@ esac packageroot() # dir { - test -d $1/lib/$command -o -x $1/bin/$command + test -d "$1/lib/$command" || test -x "$1/bin/$command" } # true if arg is executable @@ -758,8 +758,8 @@ packageroot() # dir executable() # [!] command { case $1 in - '!') test ! -x "$2" -a ! -x "$2.exe"; return ;; - *) test -x "$1" -o -x "$1.exe"; return ;; + '!') test ! -x "$2" && test ! -x "$2.exe" ;; + *) test -x "$1" || test -x "$1.exe" ;; esac } @@ -1460,7 +1460,7 @@ int main() type=unixware ;; UTS*|uts*) - if test -x /bin/u370 -o -x /bin/u390 + if test -x /bin/u370 || test -x /bin/u390 then type=uts.390 else case $arch in '') arch=$mach ;; @@ -1846,12 +1846,6 @@ esac run=- case $x in 1) : accept the current package use environment - - OK=ok - KSH=$EXECROOT/bin/ksh - MAKE=mamake - SUM=$EXECROOT/bin/sum - TEE=$EXECROOT/bin/tee INITROOT=$PACKAGEROOT/src/cmd/INIT checkcc ;; @@ -2261,17 +2255,8 @@ cat $INITROOT/$i.sh $show export EXECROOT export EXECROOT - # use these if possible - - OK=ok - KSH=$EXECROOT/bin/ksh - MAKE=mamake - SUM=$EXECROOT/bin/sum - TEE=$EXECROOT/bin/tee - # grab a decent default shell - checksh "$SHELL" || KEEP_SHELL=0 case $KEEP_SHELL in 0) save_PATH=$PATH if PATH=$(getconf PATH 2>/dev/null) @@ -2506,7 +2491,7 @@ checkaout() # cmd ... '') _PACKAGE_cc=0 ;; *) _PACKAGE_cc=1 - test -f $INITROOT/hello.c -a -f $INITROOT/p.c || { + test -f "$INITROOT/hello.c" && test -f "$INITROOT/p.c" || { note "$INITROOT: INIT package source not found" return 1 } @@ -2656,7 +2641,7 @@ capture() # file command ... cmd='case $error_status in 0) r=done;; *) r=failed;; esac;' cmd=$cmd' echo "$command: $action $r at $(date) in $INSTALLROOT"' case $quiet in - 0) cmd="$cmd 2>&1 | \$TEE -a $o" ;; + 0) cmd="$cmd 2>&1 | tee -a $o" ;; *) cmd="$cmd >> $o" ;; esac trap "$cmd" 0 @@ -2665,10 +2650,7 @@ capture() # file command ... ;; esac case $quiet in - 0) if executable ! $TEE - then TEE=tee - fi - # Connect 'tee' to a FIFO instead of a pipe, so that we can obtain + 0) # Connect 'tee' to a FIFO instead of a pipe, so that we can obtain # the build's exit status and use it for $error_status rm -f $o.fifo mkfifo -m 600 $o.fifo || exit @@ -2677,7 +2659,7 @@ capture() # file command ... # unlink early exec rm $o.fifo ) & - $TEE -a $o < $o.fifo & + tee -a $o < $o.fifo & tee_pid=$! o=$o.fifo ;; @@ -2852,7 +2834,7 @@ make|view) for i in arch arch/$HOSTTYPE do test -d $PACKAGEROOT/$i || $exec mkdir $PACKAGEROOT/$i || exit done - for i in bin bin/$OK bin/$OK/lib fun include lib lib/package lib/package/gen src man man/man1 man/man3 man/man8 + for i in bin bin/ok bin/ok/lib fun include lib lib/package lib/package/gen src man man/man1 man/man3 man/man8 do test -d $INSTALLROOT/$i || $exec mkdir $INSTALLROOT/$i || exit done make_recurse src @@ -3054,7 +3036,7 @@ make|view) k=$INITROOT/make.probe case $(ls -t $i $j $k 2>/dev/null) in $i*) ;; - *) if test -f $j -a -f $k + *) if test -f "$j" && test -f "$k" then note "update $i" shellmagic case $exec in @@ -3087,19 +3069,19 @@ cat $j $k then execrate=execrate $make cd $INSTALLROOT/bin for i in chmod chgrp cmp cp ln mv rm - do if test ! -x $OK/$i -a -x /bin/$i.exe + do if test ! -x "ok/$i" && test -x "/bin/$i.exe" then shellmagic case $exec in - '') echo "$SHELLMAGIC"'execrate /bin/'$i' "$@"' > $OK/$i - chmod +x $OK/$i + '') echo "$SHELLMAGIC"'execrate /bin/'$i' "$@"' > ok/$i + chmod +x ok/$i ;; - *) $exec echo \'"$SHELLMAGIC"'execrate /bin/'$i' "$@"'\'' >' $OK/$i - $exec chmod +x $OK/$i + *) $exec echo \'"$SHELLMAGIC"'execrate /bin/'$i' "$@"'\'' >' ok/$i + $exec chmod +x ok/$i ;; esac fi done - PATH=$INSTALLROOT/bin/$OK:$PATH + PATH=$INSTALLROOT/bin/ok:$PATH export PATH else execrate= fi @@ -3172,7 +3154,7 @@ cat $j $k # mamprobe data should have been generated by this point case $exec in - '') if test ! -f $INSTALLROOT/bin/.paths -o -w $INSTALLROOT/bin/.paths + '') if test ! -f "$INSTALLROOT/bin/.paths" || test -w "$INSTALLROOT/bin/.paths" then N=' ' b= f= h= n= p= u= B= L= @@ -3264,32 +3246,29 @@ cat $j $k ksh tee cp ln mv rm \ *ast*.dll *cmd*.dll *dll*.dll *shell*.dll do executable $i && { - cmp -s $i $OK/$i 2>/dev/null || { - test -f $OK/$i && - $exec $execrate $rm $OK/$i /dev/null || { + test -f ok/$i && + $exec $execrate $rm ok/$i /dev/null - exec - then if grep '### .*archaic.* ###' >/dev/null - exec - then : rt contains archaic constructs : - exec - else ENV= LC_ALL=C $SHELL -n rt.sh - exec - fi - exec - fi - exec - ;; - exec - esac - exec - case '${mam_cc_SHELLMAGIC}' in - exec - "") case 184 in - exec - 0) cp rt.sh rt - exec - ;; - exec - *) { - exec - i=`(read x; echo $x) < rt.sh` - exec - case $i in - exec - '#!'*|*'||'*|':'*|'":"'*|"':'"*) echo "$i" ;; - exec - esac - exec - cat rt.sh - exec - } > rt - exec - ;; - exec - esac - exec - ;; - exec - *) cat - rt.sh > rt <<'!' - exec - ${mam_cc_SHELLMAGIC} - exec - ! - exec - ;; - exec - esac - exec - test -w rt -a -x rt || chmod u+w,+x rt - done rt generated make crossexec make crossexec.sh done crossexec.sh @@ -498,10 +462,6 @@ make install prev regress exec - test '' = 'regress' || ${STDCMP} 2>/dev/null -s regress ${INSTALLROOT}/bin/regress || { ${STDMV} ${INSTALLROOT}/bin/regress ${INSTALLROOT}/bin/regress.old 2>/dev/null || true; ${STDCP} regress ${INSTALLROOT}/bin/regress ;} done ${INSTALLROOT}/bin/regress generated - make ${INSTALLROOT}/bin/rt - prev rt - exec - test '' = 'rt' || ${STDCMP} 2>/dev/null -s rt ${INSTALLROOT}/bin/rt || { ${STDMV} ${INSTALLROOT}/bin/rt ${INSTALLROOT}/bin/rt.old 2>/dev/null || true; ${STDCP} rt ${INSTALLROOT}/bin/rt ;} - done ${INSTALLROOT}/bin/rt generated make ${PACKAGEROOT}/bin exec - if test ! -d ${PACKAGEROOT}/bin exec - then mkdir -p ${PACKAGEROOT}/bin @@ -1095,16 +1055,16 @@ make test make test.iffe make iffe.tst done iffe.tst - exec - regress iffe.tst iffe + exec - exec "$SHELL" "$INSTALLROOT/bin/regress" iffe.tst iffe done test.iffe virtual make test.mamake make mamake.tst make mamake.rt done mamake.rt - exec - if [[ "1" || "mamake.rt" -nt "mamake.tst" ]] - exec - then mktest --style=regress mamake.rt > mamake.tst + exec - if test mamake.rt -nt mamake.tst + exec - then "$SHELL" "$INSTALLROOT/bin/mktest" --style=regress mamake.rt > mamake.tst exec - fi done mamake.tst generated - exec - regress mamake.tst mamake + exec - exec "$SHELL" "$INSTALLROOT/bin/regress" mamake.tst mamake done test.mamake virtual done test dontcare virtual diff --git a/src/cmd/INIT/package.sh b/src/cmd/INIT/package.sh index ecd8fc4d3..06871bf76 100644 --- a/src/cmd/INIT/package.sh +++ b/src/cmd/INIT/package.sh @@ -109,7 +109,7 @@ command=${0##*/} case $(getopts '[-][123:xyz]' opt --xyz 2>/dev/null; echo 0$opt) in 0123) USAGE=$' [-? -@(#)$Id: '$command$' (ksh 93u+m) 2022-06-12 $ +@(#)$Id: '$command$' (ksh 93u+m) 2022-07-22 $ ] [-author?Glenn Fowler ] [-author?Contributors to https://github.com/ksh93/ksh] @@ -608,7 +608,7 @@ case $_PACKAGE_HOSTTYPE_ in ;; esac KEEP_PACKAGEROOT=0 -KEEP_SHELL=0 +KEEP_SHELL=0 # set to 1 if SHELL is a known-good system shell, 2 if SHELL supplied by user USER_VPATH= args= assign= @@ -646,7 +646,7 @@ do case $i in ;; SHELL=*)eval $n='$'v case $SHELL in - ?*) KEEP_SHELL=1 ;; + ?*) KEEP_SHELL=2 ;; esac ;; VPATH=*)eval USER_$n='$'v @@ -721,7 +721,7 @@ use) case $1 in $exec export VPATH=$A:$P $exec export nativepp=/usr/lib - if test '' != "$INSTALLROOT" -a -d $INSTALLROOT/include/ast + if test -n "$INSTALLROOT" && test -d "$INSTALLROOT/include/ast" then $exec export PACKAGE_ast=$INSTALLROOT elif test -d ${PWD%/*}/ast/arch/$HOSTTYPE then $exec export PACKAGE_ast=${PWD%/*}/ast/arch/$HOSTTYPE @@ -750,7 +750,7 @@ esac packageroot() # dir { - test -d $1/lib/$command -o -x $1/bin/$command + test -d "$1/lib/$command" || test -x "$1/bin/$command" } # true if arg is executable @@ -758,8 +758,8 @@ packageroot() # dir executable() # [!] command { case $1 in - '!') test ! -x "$2" -a ! -x "$2.exe"; return ;; - *) test -x "$1" -o -x "$1.exe"; return ;; + '!') test ! -x "$2" && test ! -x "$2.exe" ;; + *) test -x "$1" || test -x "$1.exe" ;; esac } @@ -1460,7 +1460,7 @@ int main() type=unixware ;; UTS*|uts*) - if test -x /bin/u370 -o -x /bin/u390 + if test -x /bin/u370 || test -x /bin/u390 then type=uts.390 else case $arch in '') arch=$mach ;; @@ -1846,12 +1846,6 @@ esac run=- case $x in 1) : accept the current package use environment - - OK=ok - KSH=$EXECROOT/bin/ksh - MAKE=mamake - SUM=$EXECROOT/bin/sum - TEE=$EXECROOT/bin/tee INITROOT=$PACKAGEROOT/src/cmd/INIT checkcc ;; @@ -2261,17 +2255,8 @@ cat $INITROOT/$i.sh $show export EXECROOT export EXECROOT - # use these if possible - - OK=ok - KSH=$EXECROOT/bin/ksh - MAKE=mamake - SUM=$EXECROOT/bin/sum - TEE=$EXECROOT/bin/tee - # grab a decent default shell - checksh "$SHELL" || KEEP_SHELL=0 case $KEEP_SHELL in 0) save_PATH=$PATH if PATH=$(getconf PATH 2>/dev/null) @@ -2506,7 +2491,7 @@ checkaout() # cmd ... '') _PACKAGE_cc=0 ;; *) _PACKAGE_cc=1 - test -f $INITROOT/hello.c -a -f $INITROOT/p.c || { + test -f "$INITROOT/hello.c" && test -f "$INITROOT/p.c" || { note "$INITROOT: INIT package source not found" return 1 } @@ -2656,7 +2641,7 @@ capture() # file command ... cmd='case $error_status in 0) r=done;; *) r=failed;; esac;' cmd=$cmd' echo "$command: $action $r at $(date) in $INSTALLROOT"' case $quiet in - 0) cmd="$cmd 2>&1 | \$TEE -a $o" ;; + 0) cmd="$cmd 2>&1 | tee -a $o" ;; *) cmd="$cmd >> $o" ;; esac trap "$cmd" 0 @@ -2665,10 +2650,7 @@ capture() # file command ... ;; esac case $quiet in - 0) if executable ! $TEE - then TEE=tee - fi - # Connect 'tee' to a FIFO instead of a pipe, so that we can obtain + 0) # Connect 'tee' to a FIFO instead of a pipe, so that we can obtain # the build's exit status and use it for $error_status rm -f $o.fifo mkfifo -m 600 $o.fifo || exit @@ -2677,7 +2659,7 @@ capture() # file command ... # unlink early exec rm $o.fifo ) & - $TEE -a $o < $o.fifo & + tee -a $o < $o.fifo & tee_pid=$! o=$o.fifo ;; @@ -2852,7 +2834,7 @@ make|view) for i in arch arch/$HOSTTYPE do test -d $PACKAGEROOT/$i || $exec mkdir $PACKAGEROOT/$i || exit done - for i in bin bin/$OK bin/$OK/lib fun include lib lib/package lib/package/gen src man man/man1 man/man3 man/man8 + for i in bin bin/ok bin/ok/lib fun include lib lib/package lib/package/gen src man man/man1 man/man3 man/man8 do test -d $INSTALLROOT/$i || $exec mkdir $INSTALLROOT/$i || exit done make_recurse src @@ -3054,7 +3036,7 @@ make|view) k=$INITROOT/make.probe case $(ls -t $i $j $k 2>/dev/null) in $i*) ;; - *) if test -f $j -a -f $k + *) if test -f "$j" && test -f "$k" then note "update $i" shellmagic case $exec in @@ -3087,19 +3069,19 @@ cat $j $k then execrate=execrate $make cd $INSTALLROOT/bin for i in chmod chgrp cmp cp ln mv rm - do if test ! -x $OK/$i -a -x /bin/$i.exe + do if test ! -x "ok/$i" && test -x "/bin/$i.exe" then shellmagic case $exec in - '') echo "$SHELLMAGIC"'execrate /bin/'$i' "$@"' > $OK/$i - chmod +x $OK/$i + '') echo "$SHELLMAGIC"'execrate /bin/'$i' "$@"' > ok/$i + chmod +x ok/$i ;; - *) $exec echo \'"$SHELLMAGIC"'execrate /bin/'$i' "$@"'\'' >' $OK/$i - $exec chmod +x $OK/$i + *) $exec echo \'"$SHELLMAGIC"'execrate /bin/'$i' "$@"'\'' >' ok/$i + $exec chmod +x ok/$i ;; esac fi done - PATH=$INSTALLROOT/bin/$OK:$PATH + PATH=$INSTALLROOT/bin/ok:$PATH export PATH else execrate= fi @@ -3172,7 +3154,7 @@ cat $j $k # mamprobe data should have been generated by this point case $exec in - '') if test ! -f $INSTALLROOT/bin/.paths -o -w $INSTALLROOT/bin/.paths + '') if test ! -f "$INSTALLROOT/bin/.paths" || test -w "$INSTALLROOT/bin/.paths" then N=' ' b= f= h= n= p= u= B= L= @@ -3264,32 +3246,29 @@ cat $j $k ksh tee cp ln mv rm \ *ast*.dll *cmd*.dll *dll*.dll *shell*.dll do executable $i && { - cmp -s $i $OK/$i 2>/dev/null || { - test -f $OK/$i && - $exec $execrate $rm $OK/$i /dev/null || { + test -f ok/$i && + $exec $execrate $rm ok/$i # -# # -######################################################################## -: rt - nmake test output filter - -command=rt -flags='--silent --keepgoing' -failed=0 -heading=1 -verbose=0 - -case `(getopts '[-][123:xyz]' opt --xyz; echo 0$opt) 2>/dev/null` in -0123) ARGV0="-a $command" - USAGE=$' -[-? -@(#)$Id: rt (AT&T Research) 2010-07-27 $ -] -[-author?Glenn Fowler ] -[-copyright?Copyright (c) 2005-2012 AT&T Intellectual Property] -[-license?http://www.eclipse.org/org/documents/epl-v10.html] -[+NAME?rt - run "nmake test" and filter output] -[+DESCRIPTION?\brt\b runs \bnmake test\b and filters the regression - test output to contain only test summary lines. If no \atest\a - operands are specified then \btest\b is assumed. If \b-\b is - specified then the \afile\a operands, or the standard input - if no \afile\a operands are specified, are filtered instead - of the output from \bnmake\b.] -[f:failed?Only list failed test results.] -[h!:heading?Enable per-file heading when more than one \afile\a operand - follows \b-\b.] -[v:verbose?Run with \bREGRESSFLAGS=-v\b.] - -[ test ... | - [ file ... ] ] - -[+SEE ALSO?\bnmake\b(1), \bregress\b(1)] -[+CAVEATS?\brt\b guesses the regression test output style. Garbled - output indicates a bad guess.] -' - ;; -*) ARGV0="" - USAGE="fhv" - ;; -esac - -function usage -{ - OPTIND=0 - getopts $ARGV0 "$USAGE" OPT '-?' - exit 2 -} - -while getopts $ARGV0 "$USAGE" OPT -do case $OPT in - f) failed=1 ;; - h) heading=0 ;; - v) (( verbose=$OPTARG )) && flags="$flags REGRESSFLAGS=-v" ;; - esac -done -shift `expr $OPTIND - 1` - -ifs=${IFS:-$' \t\n'} -set -o noglob -component= -dots='............................................' -bad=' ***' -style=unknown -integer tests errors signals lineno=0 skip=0 -typeset -l lower - -function results # tests errors signals -{ - integer t=$1 e=$2 s=$3 - typeset label note - if [[ $style != unknown ]] && (( errors >= 0 )) - then style=unknown - if (( !failed || errors )) - then if (( failed )) - then print -r -n -- "$unit" - fi - if (( t >= 0 )) - then if (( t == 1)) - then label="test " - else label=tests - fi - printf $'%s%5d %s' "$prefix" "$t" "$label" - prefix= - else prefix="$prefix..........." - fi - if (( s )) - then label=signal - (( e=s )) - else label=error - fi - if (( e != 1)) - then label=${label}s - fi - if (( e == 1 )) - then note=" $bad" - elif (( e > 1 )) - then note=$bad - fi - printf $'%s%5d %s%s\n' "$prefix" "$e" "$label" "$note" - fi - fi -} - -function unit -{ - typeset x - if [[ $component ]] - then x=${component##*/} - if [[ " $x " != *' '$unit' '* && " $unit " != *' '$x' '* ]] - then if [[ $component == cmd/?*lib/* ]] - then unit="$unit $x" - else unit="$x $unit" - fi - fi - fi - unit="$unit ${dots:1:${#dots}-${#unit}}" - if [[ $1 ]] - then unit="$unit..........." - fi - if (( ! failed )) - then print -r -n -- "$unit" - fi -} - -if [[ $1 == - ]] -then shift - if (( $# <= 1 )) - then heading=0 - fi - if (( heading )) - then for i - do print test heading $i - cat -- "$i" - done - else cat "$@" - fi -else if [[ $1 == *=* ]] - then set test "$@" - elif (( ! $# )) - then set test - fi - nmake "$@" $flags 2>&1 -fi | -while read -r line -do set '' $line - shift - case $line in - TEST[' ']*', '*' error'*) - IFS=${IFS}"," - set '' $line - IFS=$ifs - set '' $* - while : - do case $2 in - '') break - ;; - error|errors) - errors=$1 - break - ;; - test|tests) - tests=$1 - ;; - esac - shift - done - results $tests $errors - continue - ;; - TEST[' ']*) - results $tests $errors - IFS=${IFS}"," - set '' $line - IFS=$ifs - set '' $* - unit=${3##*/} - case $4 in - [a-zA-Z]*) unit="$unit $4" ;; - esac - unit - prefix= - errors=0 - signals=0 - style=regress - continue - ;; - 'pathname and options of item under test') - read -r line || break - results $tests $errors $signals - set '' $line - unit=${2##*/} - unit - tests=0 - errors=0 - signals=0 - style=script - continue - ;; - 'test heading '*) - if (( heading )) - then if (( heading > 1 )) - then print - else heading=2 - fi - set '' $line - shift 3 - print -r -- "==> $* <==" - fi - continue - ;; - 'test '*' begins at '????-??-??+??:??:??|'test '*' begins at '*' '*' '*' '*' '*) - results $tests $errors $signals - unit=${2##*/} - unit=${unit%.sh} - unit - prefix= - tests=-1 - errors=0 - signals=0 - style=shell - continue - ;; - 'test '*' at '????-??-??+??:??:??' [ '*' ]'|'test '*' at '*' '*' '*' '*' '*) - case $line in - *' [ '*test*error*' ]') - while : - do case $1 in - '[') tests=$2 - errors=$4 - if (( errors > 256 )) - then (( signals++ )) - fi - break - ;; - esac - shift - done - ;; - *' [ '*test*signal*' ]') - while : - do case $1 in - '[') tests=$2 - signals=$4 - if (( signals )) - then (( errors++ )) - fi - break - ;; - esac - shift - done - ;; - *) if [[ $3 != passed ]] - then (( errors )) || (( errors++ )) - fi - ;; - esac - results $tests $errors $signals - continue - ;; - '## ---'*(-)'--- ##') - (( ++lineno > skip )) || continue - read -r line || break - lower=$line - set '' $lower - case $lower in - '##'*'test suite:'*'##') - results $tests $errors $signals - set -- ${lower//*suite:} - set -- ${*//[.#]/} - unit=$* - if [[ $unit == *' tests' ]] - then unit=${unit/' tests'/} - fi - main=$unit - prefix= - tests=0 - errors=0 - signals=0 - category= - style=autotest - (( skip = lineno + 1 )) - unit - continue - ;; - esac - ;; - +(-)) case $style in - regress) continue ;; - esac - (( ++lineno > skip )) || continue - read -r line || break - set '' $line - case $line in - 'Running tests for '*) - results $tests $errors $signals - shift 4 - unit= - while (( $# )) - do if [[ $1 == on ]] - then break - fi - if [[ $unit ]] - then unit="$unit " - fi - unit=$unit${1##*/} - shift - done - main=$unit - prefix= - tests=-1 - errors=-1 - category= - style=perl - (( skip = lineno + 1 )) - continue - ;; - *' : '*)results $tests $errors $signals - unit=${2##*/} - unit=${unit%.sh} - unit - prefix= - tests=0 - errors=0 - signals=0 - style=timing - (( skip = lineno + 1 )) - continue - ;; - esac - ;; - +([0-9])*([a-zA-Z0-9])' '*) - case $style in - script) case $line in - *FAILED*|*failed*) - (( errors++ )) - ;; - *) (( tests++ )) - ;; - esac - ;; - esac - ;; - make:*|'make ['*']:'*) - case $line in - *': warning:'*|*'making test'*|*'action'?(s)' failed'*|*': *** '*) - ;; - *) results $tests $errors $signals - print -r -u2 -- "$line" - ;; - esac - continue - ;; - +([/a-zA-Z_0-9]):) - component=${line%:} - ;; - '') continue - ;; - esac - case $style in - autotest) - case $line in - +([0-9]):*ok) - (( tests++ )) - ;; - +([0-9]):*FAILED*) - (( tests++ )) - (( errors++ )) - if (( $verbose )) - then if [[ ! $prefix ]] - then prefix=$unit - print - fi - print -r -- " ${line//*'FAILED '/}" - fi - ;; - esac - continue - ;; - perl) case $line in - *'........ '*) - if [[ $1 == */* ]] - then cat=${1%%/*} - if [[ $cat != $category ]] - then results $tests $errors $signals - category=$cat - unit="$main $category" - unit - prefix= - tests=0 - errors=0 - signals=0 - fi - (( tests++ )) - case $line in - *' ok') ;; - *) (( errors++ )) - if (( $verbose )) - then if [[ ! $prefix ]] - then prefix=$unit - print - fi - print -r -- "$line" - fi - ;; - esac - else results $tests $errors $signals - case $line in - *' ok') errors=0 ;; - *) errors=1 ;; - esac - unit="$main $1" - unit - if (( $verbose && errors )) - then prefix=$unit - print - shift 2 - print -r -- "$@" - else prefix= - fi - results $tests $errors $signals - tests=-1 - errors=-1 - category= - fi - style=perl - ;; - esac - continue - ;; - esac - case $line in - *FAILED*|*failed*) - (( errors++ )) - ;; - *) case $style in - regress)case $line in - ['<>']*);; - *) continue ;; - esac - ;; - script) continue - ;; - shell) ((errors++ )) - ;; - timing) (( tests++ )) - continue - ;; - unknown)continue - ;; - esac - ;; - esac - if (( $verbose )) - then if [[ ! $prefix ]] - then prefix=$unit - print - fi - print -r -- "$line" - fi -done -results $tests $errors $signals diff --git a/src/cmd/ksh93/Mamfile b/src/cmd/ksh93/Mamfile index 516c9be90..0ed601706 100644 --- a/src/cmd/ksh93/Mamfile +++ b/src/cmd/ksh93/Mamfile @@ -1467,6 +1467,6 @@ make test make tests/shtests done tests/shtests exec - cd "$PACKAGEROOT/src/cmd/ksh93/tests" - exec - SHELL=$INSTALLROOT/bin/ksh "$INSTALLROOT/bin/ksh" ./shtests + exec - exec "$SHELL" shtests done test.ksh virtual done test dontcare virtual