X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=test%2Frun_tests.sh;h=193b20c225b536ee114e7e4b2e7bc4bfee212750;hb=efcdac5c593b00b2ff79bb6a92849c7ee9358bb3;hp=c9c4906cf7c6253f2a49923ad6f1340211b1204e;hpb=b812899d840ba9245e6e95725668bf911a9b36c7;p=bertos.git diff --git a/test/run_tests.sh b/test/run_tests.sh index c9c4906c..193b20c2 100755 --- a/test/run_tests.sh +++ b/test/run_tests.sh @@ -17,16 +17,17 @@ VERBOSE=${VERBOSE:-1} CC=gcc #FIXME: -Ibertos/emul should not be needed -CFLAGS="-W -Wall -Wextra -Ibertos -Ibertos/emul -std=gnu99 -fno-builtin -D_DEBUG -DARCH=(ARCH_EMUL|ARCH_UNITTEST)" +CFLAGS="-W -Wall -Wextra -O0 -g3 -ggdb -Ibertos -Ibertos/emul -std=gnu99 -fno-builtin -D_DEBUG -DARCH=(ARCH_EMUL|ARCH_UNITTEST) -DCPU_FREQ=(12288000UL)" CXX=g++ CXXFLAGS="$CFLAGS" TESTS=${TESTS:-`find . \ \( -name .svn -prune -o -name .git -prune -o -name .hg -prune \) \ - -o -name "*_test.c*" -print` } + -o -name "*_test.c" -print` } TESTOUT="testout" +SRC_LIST="bertos/algo/ramp.c bertos/drv/kdebug.c bertos/drv/timer.c bertos/fs/battfs.c bertos/kern/coop.c bertos/kern/idle.c bertos/kern/kfile.c bertos/kern/monitor.c bertos/kern/proc.c bertos/kern/signal.c bertos/kern/sem.c bertos/mware/event.c bertos/mware/formatwr.c bertos/mware/hex.c bertos/mware/sprintf.c bertos/os/hptime.c bertos/struct/kfile_fifo.c bertos/fs/fatfs/ff.c bertos/emul/diskio_emul.c bertos/fs/fat.c bertos/emul/switch_ctx_emul.S" buildout='/dev/null' runout='/dev/null' @@ -42,22 +43,30 @@ mkdir -p "$TESTOUT" for src in $TESTS; do name="`basename $src | sed -e 's/\.cpp$//' -e 's/\.c$//'`" - exe="./$TESTOUT/$name" - - case "$src" in - *.cpp) BUILDCMD="$CXX $CXXFLAGS $src -o $exe" ;; - *.c) BUILDCMD="$CC $CXXFLAGS $src -o $exe" ;; - esac - - [ $VERBOSE -gt 0 ] && echo "Building $name..." - [ $VERBOSE -gt 4 ] && echo " $BUILDCMD" - if $BUILDCMD 2>&1 | tee >$buildout $TESTOUT/$name.build; then - [ $VERBOSE -gt 0 ] && echo "Running $name..." - if ! $exe 2>&1 | tee >$runout $TESTOUT/$name.out; then - echo "FAILED [RUN]: $name" + testdir="./$TESTOUT/$name" + cfgdir="$testdir/cfg" + mkdir -p "$cfgdir" + exe="$testdir/$name" + + PREPARECMD="test/parsetest.py $src" + BUILDCMD="$CC -I$testdir $CFLAGS $src $SRC_LIST -o $exe" + export testdir name cfgdir + + [ $VERBOSE -gt 0 ] && echo "Preparing $name..." + [ $VERBOSE -gt 4 ] && echo " $PREPARECMD" + if $PREPARECMD 2>&1 | tee >$buildout $testdir/$name.prep; then + [ $VERBOSE -gt 0 ] && echo "Building $name..." + [ $VERBOSE -gt 4 ] && echo " $BUILDCMD" + if $BUILDCMD 2>&1 | tee >$buildout $testdir/$name.build; then + [ $VERBOSE -gt 0 ] && echo "Running $name..." + if ! $exe 2>&1 | tee >$runout $testdir/$name.out; then + echo "FAILED [RUN]: $name" + fi + else + echo "FAILED [BUILD]: $name" fi else - echo "FAILED [BUILD]: $name" + echo "FAILED [PREPARING]: $name" fi done