3 # Copyright 2005 Develer S.r.l. (http://www.develer.com/)
4 # Copyright 2008 Bernie Innocenti <bernie@codewiz.org>
7 # Author: Bernie Innocenti <bernie@codewiz.org>
10 # Testsuite output level:
14 # 3 - execution output
19 #FIXME: -Ibertos/emul should not be needed
20 CFLAGS="-W -Wall -Wextra -Wundef -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wsign-compare -Wmissing-noreturn \
21 -O0 -g3 -ggdb -Ibertos -Ibertos/emul -Ibertos/net/lwip/src/include -Ibertos/net/lwip/src/include/ipv4 -std=gnu99 -fno-builtin -D_DEBUG -DARCH=(ARCH_EMUL|ARCH_UNITTEST) \
22 -DCPU_FREQ=(12288000UL) -ffunction-sections -fdata-sections -Wl,--gc-sections"
27 TESTS=${TESTS:-`find . \
28 \( -name .svn -prune -o -name .git -prune -o -name .hg -prune \) \
29 -o -name "*_test.c" -print` }
34 bertos/algo/crc_ccitt.c
36 bertos/algo/fletcher32.c
46 bertos/mware/formatwr.c
48 bertos/mware/sprintf.c
50 bertos/struct/kfile_fifo.c
52 bertos/struct/hashtable.c
53 bertos/struct/bitarray.c
55 bertos/emul/diskio_emul.c
58 bertos/emul/switch_ctx_emul.S
59 bertos/mware/ini_reader.c
60 bertos/emul/kfile_posix.c
61 bertos/struct/kfile_mem.c
64 bertos/net/nmeap/src/nmeap01.c
67 bertos/cfg/kfile_debug.c
69 bertos/io/kblock_ram.c
70 bertos/io/kblock_posix.c
73 bertos/sec/cipher/blowfish.c
74 bertos/sec/cipher/aes.c
75 bertos/sec/kdf/pbkdf1.c
76 bertos/sec/kdf/pbkdf2.c
77 bertos/sec/hash/sha1.c
79 bertos/sec/hash/ripemd.c
86 [ "$VERBOSE" -ge 2 ] && buildout='/dev/stdout'
87 [ "$VERBOSE" -ge 3 ] && runout='/dev/stdout'
89 # Needed to get build/exec result code rather than tee's
92 rm -rf "${TESTOUT}.old"
93 if [ -d "${TESTOUT}" ] ; then
94 mv -f "${TESTOUT}" "$TESTOUT.old"
99 name="`basename $src | sed -e 's/\.cpp$//' -e 's/\.c$//'`"
100 testdir="./$TESTOUT/$name"
101 cfgdir="$testdir/cfg"
105 PREPARECMD="test/parsetest.py $src"
106 BUILDCMD="$CC -I$testdir $CFLAGS $src $SRC_LIST -o $exe"
107 export testdir name cfgdir
109 [ $VERBOSE -gt 0 ] && echo "Preparing $name..."
110 [ $VERBOSE -gt 4 ] && echo " $PREPARECMD"
111 if $PREPARECMD 2>&1 | tee -a >>$buildout $testdir/$name.prep; then
112 [ $VERBOSE -gt 0 ] && echo "Building $name..."
113 [ $VERBOSE -gt 4 ] && echo " $BUILDCMD"
114 if $BUILDCMD 2>&1 | tee -a >>$buildout $testdir/$name.build; then
115 [ $VERBOSE -gt 0 ] && echo "Running $name..."
116 if ! $exe 2>&1 | tee -a >>$runout $testdir/$name.out; then
117 echo "FAILED [RUN]: $name"
118 cat $testdir/$name.out
122 echo "FAILED [BUILD]: $name"
123 cat $testdir/$name.build
127 echo "FAILED [PREPARING]: $name"
128 cat $testdir/$name.prep