77 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			77 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | #! /bin/sh | ||
|  | # | ||
|  | #   This program is free software: you can redistribute it and/or modify | ||
|  | #   it under the terms of the GNU General Public License as published by | ||
|  | #   the Free Software Foundation, either version 3 of the License, or | ||
|  | #   (at your option) any later version. | ||
|  | # | ||
|  | #   This program is distributed in the hope that it will be useful, | ||
|  | #   but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
|  | #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||
|  | #   GNU General Public License for more details. | ||
|  | # | ||
|  | #   You should have received a copy of the GNU General Public License | ||
|  | #   along with this program.  If not, see <http://www.gnu.org/licenses/>. | ||
|  | # | ||
|  | 
 | ||
|  | : ${TMPDIR:=/tmp} | ||
|  | export TMPDIR | ||
|  | 
 | ||
|  | # basic /bin/sh syntax | ||
|  | SUFFIX=`${THIS_SH} -c 'echo $(( $RANDOM + $BASHPID ))'` | ||
|  | 
 | ||
|  | BASH_TSTOUT=${TMPDIR}/bashtst-$SUFFIX  # for now | ||
|  | export BASH_TSTOUT | ||
|  | 
 | ||
|  | trap 'rm -f $BASH_TSTOUT' 0 1 2 3 15 | ||
|  | 
 | ||
|  | PATH=.:$PATH	# just to get recho/zecho/printenv if not run via `make tests' | ||
|  | export PATH | ||
|  | 
 | ||
|  | 
 | ||
|  | # unset BASH_ENV only if it is set | ||
|  | [ "${BASH_ENV+set}" = "set" ] && unset BASH_ENV | ||
|  | # ditto for SHELLOPTS | ||
|  | #[ "${SHELLOPTS+set}" = "set" ] && unset SHELLOPTS | ||
|  | 
 | ||
|  | : ${THIS_SH:=../bash} | ||
|  | export THIS_SH | ||
|  | 
 | ||
|  | : ${BUILD_DIR:=..} | ||
|  | export BUILD_DIR | ||
|  | 
 | ||
|  | ${THIS_SH} ./version | ||
|  | 
 | ||
|  | rm -f ${BASH_TSTOUT} | ||
|  | 
 | ||
|  | echo Any output from any test, unless otherwise noted, indicates a possible anomaly | ||
|  | 
 | ||
|  | for x in run-* | ||
|  | do | ||
|  | 	case $x in | ||
|  | 	$0|run-all|run-minimal|run-gprof|run-jobs) ;; | ||
|  | 	*.orig|*~) ;; | ||
|  | 	*)	echo $x ; sh $x ; rm -f ${BASH_TSTOUT} ;; | ||
|  | 	esac | ||
|  | done | ||
|  | 
 | ||
|  | trap 'rm -f $tmp' EXIT HUP INT QUIT TERM | ||
|  | tmp=$(mktemp /tmp/hello.XXXXXXXX) || exit 1 | ||
|  | echo '#!/bin/sh' > $tmp | ||
|  | echo exit >> $tmp | ||
|  | chmod 755 $tmp | ||
|  | ${THIS_SH} -c $tmp | ||
|  | 
 | ||
|  | typeset -i count=500 | ||
|  | echo '#########################' | ||
|  | echo 'fork + /bin/sh -c runtime' | ||
|  | time while ((count-- > 0)) ; do | ||
|  | 	${THIS_SH} -c $tmp | ||
|  | done | ||
|  | echo '#########################' | ||
|  | set -x | ||
|  | read -t1 < /dev/tty | ||
|  | set +x | ||
|  | echo '#########################' | ||
|  | exit 0 |