projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Nicer testsuite runner
[bertos.git]
/
bertos
/
run_tests.sh
diff --git
a/bertos/run_tests.sh
b/bertos/run_tests.sh
index 7edc89df78657e397a5860f8d38f96e4b7e302fe..22309ecadbe5c74346cb7747dc506144d414bfe2 100755
(executable)
--- a/
bertos/run_tests.sh
+++ b/
bertos/run_tests.sh
@@
-3,34
+3,41
@@
# Copyright 2005 Develer S.r.l. (http://www.develer.com/)
# All rights reserved.
#
# Copyright 2005 Develer S.r.l. (http://www.develer.com/)
# All rights reserved.
#
-# Author: Bern
ardo Innocenti <bernie@develer.com
>
+# Author: Bern
ie Innocenti <bernie@codewiz.org
>
#
# $Id$
#
#
# $Id$
#
-
VERBOSE=1
CC=gcc
VERBOSE=1
CC=gcc
-CFLAGS="-W -Wall -Wextra -I
. -fno-builtin -D_DEBUG
"
+CFLAGS="-W -Wall -Wextra -I
bertos -Ibertos/emul -std=gnu99 -fno-builtin -D_DEBUG -D_TEST -DARCH=ARCH_EMUL
"
CXX=g++
CXXFLAGS="$CFLAGS"
CXX=g++
CXXFLAGS="$CFLAGS"
+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 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
- ;;
+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
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
done