#!/bin/bash RUNALL=$1 CSC=$2 CONTIKI=$3 BASENAME=$4 RANDOMSEED=$5 #set -x echo -n "Running test $BASENAME " java -Xshare:on -jar $CONTIKI/tools/cooja/dist/cooja.jar -nogui=$CSC -contiki=$CONTIKI -random-seed=$RANDOMSEED > $BASENAME.log & JPID=$! # Copy the log and only print "." if it changed touch $BASENAME.log.prog while kill -0 $JPID 2> /dev/null do sleep 1 diff $BASENAME.log $BASENAME.log.prog > /dev/null if [ $? -ne 0 ] then echo -n "." cp $BASENAME.log $BASENAME.log.prog fi done rm $BASENAME.log.prog wait $JPID JRV=$? if [ $JRV -eq 0 ] ; then touch COOJA.testlog; mv COOJA.testlog $BASENAME.testlog echo " OK" exit 0 fi # In case of failure echo " FAIL ಠ_ಠ" | tee -a COOJA.testlog; #Verbose output when using CI if [ "$CI" = "true" ]; then echo "==== COOJA.log ====" ; cat COOJA.log; echo "==== COOJA.testlog ====" ; cat COOJA.testlog; else tail -50 COOJA.log ; fi; mv COOJA.testlog $BASENAME.faillog # We do not want Make to stop -> Return 0 if [ "$RUNALL" = "true" ] ; then touch COOJA.testlog; mv COOJA.testlog $BASENAME.testlog; exit 0 fi #This is a failure exit 1