--- gforth/testdist 1997/05/29 19:42:14 1.4 +++ gforth/testdist 2008/10/25 22:48:20 1.19 @@ -1,23 +1,52 @@ +#! /bin/bash #tests that dist works -#call this with gforth-$(version).tar.gz in the working directory -#use this if your make handles VPATH ok -GFORTH=gforth-0.3.1 -mkdir test-dist -cd test-dist -DIR=$PWD -gunzip -cd ../$GFORTH.tar.gz|tar xf - -chmod -R a-w $GFORTH -mkdir build -cd build -../$GFORTH/configure --prefix=$DIR/install -make -make check +#usage: testdist gforth-version.tar.gz +#gforth-version.tar.gz must be in the working directory +MACHINE=`hostname` +GFORTH=`basename $1 .tar.gz` +result=ok +for CC in `(shopt -s nullglob; for i in /usr/sfw/bin /opt/csw/gcc4/bin \`echo $PATH|sed 's/:/ /g'\`; do for j in $i/gcc-*; do basename $j; done; done )|sort -u`; do + last=broken + rm -rf $CC + mkdir $CC + cd $CC + PATHDIR=`pwd` + DIR=`cygpath -m \`pwd\` 2>/dev/null` || DIR=`pwd` + chmod -R +w $GFORTH + rm -rf $GFORTH + gunzip -cd ../$1 | tar xf - + (if make --version|grep -q GNU + then + echo building in build with $CC + chmod -R a-w $GFORTH + rm -rf build + mkdir build + cd build + ../$GFORTH/configure --prefix=$DIR/install CC=$CC + else + echo building in $GFORTH with $CC + cd $GFORTH + ./configure --prefix=$DIR/install CC=$CC + fi && + make && #gforth locals-test.fs #gforth test-counted-loops.fs -make install -make bench -cd .. -install/bin/gforth tester.fs coretest.fs postponetest.fs dbltest.fs -e bye -chmod -R +w $GFORTH -cd .. -rm -rf test-dist + make install && +#make all-bench && + chmod -R +w ../$GFORTH/vmgen-ex ../$GFORTH/vmgen-ex2 && + cd ../$GFORTH/vmgen-ex && + PATH=$PATHDIR/install/bin:$PATH make check GCC="$CC -O" YACC=yacc LEX=lex && + cd ../vmgen-ex2 && + PATH=$DIR/install/bin:$PATH make check GCC="$CC -O" YACC=yacc LEX=lex && + cd .. && + cd .. && + install/bin/gforth test/tester.fs test/coretest.fs test/postpone.fs test/dbltest.fs -e bye >&/dev/null && + make -f build/Makefile onebench ENGINE_FAST=install/bin/gforth-fast && + install/bin/gforth-fast --debug -e bye 2>&1 |grep 'Compiled with' ) && + last=ok + echo $CC $last + chmod -R +w $GFORTH + cd .. + test $result = ok -a $last = ok || result=broken +done +echo test $result