Refactor to use new protocol module and sipo.
[bertos.git] / test / nightly_test.sh
index 100b833ac42df362f62d95dd306cd3f9dc6da0bf..afe17321e324152a515ae2f59e986c90223cf0e1 100755 (executable)
 #Makefile test directory
 MAKEFILE_TEST_DIR="."
 TEST_DIR="test"
+BERTOS_DIR="bertos/"
+BERTOS_DIR_BAK="bertos.saved"
+OPTS=1
+if [ $# = 1 ] ; then
+       if [ $1 = "-h" ] ; then
+               printf "Nightly test help.\n"
+               printf "\t--no-silent disable the silent of the TODO/FIXME warning messages.\n"
+               exit 1
+       elif [ $1 = "--no-silent" ] ; then
+               OPTS=0
+       fi
+fi
 
-#Cpu target that we want to test
+if [ $OPTS = 1 ] ; then
+#Copy BeRTOS sources
+printf "Starting nightlytest..\n"
+       printf "Silent mode enabled: removing the TODO/FIXME messages.\n"
+       cp -R $BERTOS_DIR $BERTOS_DIR_BAK || exit 1
+
+       #Strip away TODOs and FIXME
+       find $BERTOS_DIR -name "*.[ch]" | xargs perl -p -i -e 's/^\s*#warning\s*(TODO|FIXME).*//g;'
+       CFG_LIST=`find $BERTOS_DIR/cfg -name "cfg_*.h"`
+       for i in $CFG_LIST ;
+       do
+               $TEST_DIR/enablecfg.py $i
+       done
+fi
+
+#Cpu targets that we want to test
 TRG="avr arm"
 
 for i in $TRG ;
 do
-               ${TEST_DIR}/gen_mk_src.sh $i
+       ${TEST_DIR}/gen_mk_src.sh $i
 done
 
 #Clean and launch make on all
 make -f ${MAKEFILE_TEST_DIR}/Makefile.test clean
 make -f ${MAKEFILE_TEST_DIR}/Makefile.test
+RET=$?
+if [ $OPTS = 1 ] ; then
+       #Restore original sources
+       if [ -d $BERTOS_DIR_BAK ] ; then
+               printf "Exiting from nightly..\n"
+               rm -rf $BERTOS_DIR
+               mv $BERTOS_DIR_BAK $BERTOS_DIR
+       else
+               printf "Unable to restore backup copy\n"
+               exit 1
+       fi
+fi
+
+printf "Nightly test done.\n\n"
+exit $RET
+