98 lines
1.9 KiB
Bash
98 lines
1.9 KiB
Bash
#!/bin/bash
|
|
|
|
#LOG="TEST-`date '+%F'`.log"
|
|
LOG=currentlog.log
|
|
MAIL=0
|
|
CVS=0
|
|
PROGNAME=`basename $0`
|
|
|
|
Usage() {
|
|
echo >&2 "$PROGNAME:" "$@"
|
|
echo >&2 "Usage: $PROGNAME [-cvs] [-mail]"
|
|
exit 10
|
|
}
|
|
|
|
while [ $# -gt 0 ]; do
|
|
case "$1" in
|
|
-cvs) CVS=1 ;;
|
|
-mail) MAIL=1 ;;
|
|
*) Usage "Unknown option \"$1\"" ;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [ -z "$CONTIKI" ]; then
|
|
if [ -z "$CONTIKI_HOME" ]; then
|
|
echo Undefined variable: CONTIKI
|
|
exit 1
|
|
fi
|
|
CONTIKI=$CONTIKI_HOME
|
|
fi
|
|
|
|
if [ $MAIL -eq 1 ]; then
|
|
if [ -z "$MAILTO" ]; then
|
|
echo Undefined variable: MAILTO
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
function mail_report() {
|
|
if [ $MAIL -eq 1 ]; then
|
|
echo ">>>>>>> Sending mail <<<<<<<<"
|
|
echo "[`date '+%F %T'`] Mailing test report" >> $LOG
|
|
cat $LOG | mail -s "Contiki test results" $MAILTO
|
|
if [ "$?" -ne 0 ]; then
|
|
echo "Failed to send mail"
|
|
echo "[`date '+%F %T'`] MAIL FAILED" >> $LOG
|
|
else
|
|
echo "[`date '+%F %T'`] test report sent" >> $LOG
|
|
fi
|
|
else
|
|
echo
|
|
echo
|
|
echo ">>>>>>> Test Report <<<<<<<<"
|
|
cat $LOG
|
|
fi
|
|
cp $LOG RUN_ALL_LAST.log
|
|
}
|
|
|
|
echo ">>>>>>> Cleaning up previous tests <<<<<<<<"
|
|
rm -f *.log *.cooja_log
|
|
rm -fr se obj_cooja
|
|
rm -f symbols.c symbols.h
|
|
|
|
echo ">>>>>>> Creating test log <<<<<<<<"
|
|
touch $LOG
|
|
|
|
if [ $CVS -eq 1 ]; then
|
|
echo ">>>>>>> Updating from CVS <<<<<<<<"
|
|
echo -n "[`date '+%F %T'`] Updating CVS: " >> $LOG
|
|
(cd $CONTIKI && cvs update -dP)
|
|
if [ "$?" != "0" ]; then
|
|
echo "FAIL" >> $LOG
|
|
mail_report
|
|
exit 1
|
|
fi
|
|
echo "OK" >> $LOG
|
|
fi
|
|
|
|
echo ">>>>>>> Building COOJA <<<<<<<<"
|
|
echo -n "[`date '+%F %T'`] Building COOJA: " >> $LOG
|
|
(cd $CONTIKI/tools/cooja && ant clean && ant jar)
|
|
if [ "$?" != "0" ]; then
|
|
echo "Compilation of COOJA failed"
|
|
echo "FAIL" >> $LOG
|
|
mail_report
|
|
exit 1
|
|
fi
|
|
echo "OK" >> $LOG
|
|
|
|
echo >> $LOG
|
|
for myfile in ./*.csc
|
|
do
|
|
TEST=`basename $myfile .csc`
|
|
./RUN_TEST $TEST $LOG
|
|
done
|
|
|
|
mail_report
|