X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Frun_tests.sh;h=22309ecadbe5c74346cb7747dc506144d414bfe2;hb=1815e3dc48701e41cd28cd6241398b972bedba50;hp=74b391508418d8bbb046f7c2cc300ee2887887a4;hpb=e87c66b571895aa01947ddf64df1fe1b54fb5ffa;p=bertos.git diff --git a/bertos/run_tests.sh b/bertos/run_tests.sh index 74b39150..22309eca 100755 --- a/bertos/run_tests.sh +++ b/bertos/run_tests.sh @@ -3,33 +3,41 @@ # Copyright 2005 Develer S.r.l. (http://www.develer.com/) # All rights reserved. # -# Author: Bernardo Innocenti +# Author: Bernie Innocenti # # $Id$ # - VERBOSE=1 CC=gcc -CFLAGS="-W -Wall -Wextra -I. -fno-builtin -D_DEBUG -D_TEST" +CFLAGS="-W -Wall -Wextra -Ibertos -Ibertos/emul -std=gnu99 -fno-builtin -D_DEBUG -D_TEST -DARCH=ARCH_EMUL" CXX=g++ CXXFLAGS="$CFLAGS" -for test in `find . -name "*_test.*"`; do - [ $VERBOSE -gt 0 ] && echo "Running $test..." - case "$test" in - *.cpp) - $CXX $CXXFLAGS $test -o test || exit 1 - ./test || exit 1 - rm -f test - ;; - *.c) - $CC $CFLAGS $test -o test || exit 1 - ./test || exit 1 - rm -f test - ;; +TESTS=${TESTS:-`find . \ + \( -name .svn -prune -o -name .git -prune -o -name .hg -prune \) \ + -o -name "*_test.c*" -print` } + +TESTOUT="testout" + +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..." + $BUILDCMD 2>&1 | tee $name.build || echo "FAILED [BUILD]: $name" + + [ $VERBOSE -gt 0 ] && echo "Running $name..." + $exe 2>&1 | tee $name.out || echo "FAILED [RUN]: $name" + #rm -f "$exe" done