--- gforth/testdist 2003/02/01 19:59:15 1.11 +++ gforth/testdist 2008/10/25 22:48:20 1.19 @@ -1,39 +1,52 @@ -#! /bin/sh +#! /bin/bash #tests that dist works #usage: testdist gforth-version.tar.gz #gforth-version.tar.gz must be in the working directory MACHINE=`hostname` GFORTH=`basename $1 .tar.gz` -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 +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 -else - echo building in $GFORTH + ../$GFORTH/configure --prefix=$DIR/install CC=$CC + else + echo building in $GFORTH with $CC cd $GFORTH - ./configure --prefix=$DIR/install -fi -make && -make check && + ./configure --prefix=$DIR/install CC=$CC + fi && + make && #gforth locals-test.fs #gforth test-counted-loops.fs -make install && + make install && #make all-bench && -chmod -R +w ../$GFORTH/vmgen-ex ../$GFORTH/vmgen-ex2 && -cd ../$GFORTH/vmgen-ex && -PATH=$DIR/install/bin:$PATH make check GCC="cc -O" && -cd ../vmgen-ex2 && -PATH=$DIR/install/bin:$PATH make check GCC="cc -O" && -cd .. && -cd .. && -install/bin/gforth test/tester.fs test/coretest.fs test/postpone.fs test/dbltest.fs -e bye && -echo test ok -chmod -R +w $GFORTH -cd .. + 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