X-Git-Url: https://codewiz.org/gitweb?p=bertos.git;a=blobdiff_plain;f=test%2Frun_tests.sh;h=348cbb989d1d333b905cc456916e29ae0343ab41;hp=c6e34c1fce42c9cb9eb0b0d02f9d6c50b9a70320;hb=HEAD;hpb=c6a054bac114ad22d85c52479d55382ac7f2a09f diff --git a/test/run_tests.sh b/test/run_tests.sh index c6e34c1f..348cbb98 100755 --- a/test/run_tests.sh +++ b/test/run_tests.sh @@ -17,7 +17,9 @@ VERBOSE=${VERBOSE:-1} CC=gcc #FIXME: -Ibertos/emul should not be needed -CFLAGS="-W -Wall -Wextra -O0 -g3 -ggdb -Ibertos -Ibertos/emul -std=gnu99 -fno-builtin -D_DEBUG -DARCH=(ARCH_EMUL|ARCH_UNITTEST) -DCPU_FREQ=(12288000UL)" +CFLAGS="-W -Wall -Wextra -Wundef -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wsign-compare -Wmissing-noreturn \ +-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) \ +-DCPU_FREQ=(12288000UL) -ffunction-sections -fdata-sections -Wl,--gc-sections" CXX=g++ CXXFLAGS="$CFLAGS" @@ -27,7 +29,57 @@ TESTS=${TESTS:-`find . \ -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/src/ff.c bertos/emul/diskio_emul.c bertos/fs/fat.c bertos/emul/switch_ctx_emul.S" +SRC_LIST=" + bertos/algo/ramp.c + bertos/algo/crc_ccitt.c + bertos/algo/crc.c + bertos/algo/fletcher32.c + bertos/drv/kdebug.c + bertos/drv/timer.c + bertos/kern/monitor.c + bertos/kern/proc.c + bertos/kern/signal.c + bertos/kern/sem.c + bertos/kern/preempt.c + bertos/kern/rtask.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/struct/heap.c + bertos/struct/hashtable.c + bertos/struct/bitarray.c + bertos/fs/fatfs/ff.c + bertos/emul/diskio_emul.c + bertos/fs/fat.c + bertos/fs/battfs.c + bertos/emul/switch_ctx_emul.S + bertos/mware/ini_reader.c + bertos/emul/kfile_posix.c + bertos/struct/kfile_mem.c + bertos/net/ax25.c + bertos/net/afsk.c + bertos/net/nmeap/src/nmeap01.c + bertos/net/nmea.c + bertos/net/http.c + bertos/cfg/kfile_debug.c + bertos/io/kblock.c + bertos/io/kblock_ram.c + bertos/io/kblock_posix.c + bertos/io/kfile.c + bertos/sec/cipher.c + bertos/sec/cipher/blowfish.c + bertos/sec/cipher/aes.c + bertos/sec/kdf/pbkdf1.c + bertos/sec/kdf/pbkdf2.c + bertos/sec/hash/sha1.c + bertos/sec/hash/md5.c + bertos/sec/hash/ripemd.c + bertos/sec/mac/hmac.c + bertos/sec/mac/omac.c +" buildout='/dev/null' runout='/dev/null' @@ -38,7 +90,9 @@ runout='/dev/null' set -o pipefail rm -rf "${TESTOUT}.old" -mv -f "${TESTOUT}" "$TESTOUT.old" +if [ -d "${TESTOUT}" ] ; then + mv -f "${TESTOUT}" "$TESTOUT.old" +fi mkdir -p "$TESTOUT" for src in $TESTS; do @@ -54,19 +108,25 @@ for src in $TESTS; do [ $VERBOSE -gt 0 ] && echo "Preparing $name..." [ $VERBOSE -gt 4 ] && echo " $PREPARECMD" - if $PREPARECMD 2>&1 | tee >$buildout $testdir/$name.prep; then + if $PREPARECMD 2>&1 | tee -a >>$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 + if $BUILDCMD 2>&1 | tee -a >>$buildout $testdir/$name.build; then [ $VERBOSE -gt 0 ] && echo "Running $name..." - if ! $exe 2>&1 | tee >$runout $testdir/$name.out; then + if ! $exe 2>&1 | tee -a >>$runout $testdir/$name.out; then echo "FAILED [RUN]: $name" + cat $testdir/$name.out + exit 2 fi else echo "FAILED [BUILD]: $name" + cat $testdir/$name.build + exit 3 fi else echo "FAILED [PREPARING]: $name" + cat $testdir/$name.prep + exit 4 fi done