Move dir only if exists to avoid error message.
[bertos.git] / test / run_tests.sh
index 90de1f043dac504b7f189618ba59217752ee8214..fde41fc190d474357c29592a1e1c7932b7032d2c 100755 (executable)
@@ -17,7 +17,8 @@ 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 -O0 -g3 -ggdb -Ibertos -Ibertos/emul -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 +28,7 @@ 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/emul/switch_ctx_emul.S"
+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 bertos/mware/ini_reader.c bertos/emul/kfile_posix.c"
 
 buildout='/dev/null'
 runout='/dev/null'
@@ -38,7 +39,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