#! /bin/sh # # usage: runtest [...] # without args, runs all *.test files in the current directory # failure() { echo "FAILED: $1" exit 1 } MAKE="make MODE=debug" TESTFILES=$* if [ "x$TESTFILES" = "x" ]; then TESTFILES='*.test'; fi if [ ! -d work ]; then mkdir work; fi opp_test gen $OPT -p work_dbg -v $TESTFILES || exit 1 cd work || exit 1 echo > .project echo Creating makefiles... for i in * ""; do if [ "$i" != "" -a -d $i ]; then echo $i (cd $i && $MAKE "OPP_MAKEMAKE=opp_makemake -f --out ../out" -f buildspec || echo MAKEFILE CREATION FAILED: $i) || exit 1 fi done echo Build... opp_makemake -f -r --nolink --out ../out && $MAKE || failure BUILD # Run the tests echo cd .. PATH=.:$PATH opp_test run $OPT -p work_dbg -v $TESTFILES || exit 1 echo echo Results can be found in ./work