CI: simplify script tests
This commit is contained in:
parent
6cf4d62e90
commit
295a0c6d63
@ -11,48 +11,45 @@ IPADDR=$3
|
|||||||
|
|
||||||
# Start simulation
|
# Start simulation
|
||||||
echo "Starting Cooja simulation $BASENAME.csc"
|
echo "Starting Cooja simulation $BASENAME.csc"
|
||||||
java -Xshare:on -jar $CONTIKI/tools/cooja/dist/cooja.jar -nogui=$BASENAME.csc -contiki=$CONTIKI > /dev/null &
|
java -Xshare:on -jar $CONTIKI/tools/cooja/dist/cooja.jar -nogui=$BASENAME.csc -contiki=$CONTIKI > $BASENAME.coojalog &
|
||||||
JPID=$!
|
JPID=$!
|
||||||
sleep 20
|
sleep 20
|
||||||
|
|
||||||
# Connect to the simlation
|
# Connect to the simlation
|
||||||
echo "Starting tunslip6"
|
echo "Starting tunslip6"
|
||||||
make -C $CONTIKI/tools tunslip6
|
make -C $CONTIKI/tools tunslip6
|
||||||
make -C $CONTIKI/examples/rpl-border-router/ connect-router-cooja TARGET=zoul > tunslip.log 2> tunslip.err &
|
make -C $CONTIKI/examples/rpl-border-router/ connect-router-cooja TARGET=zoul >> $BASENAME.tunsliplog 2>&1 &
|
||||||
MPID=$!
|
MPID=$!
|
||||||
echo "Waiting for network formation"
|
echo "Waiting for network formation"
|
||||||
sleep 5
|
sleep 5
|
||||||
|
|
||||||
# Do ping
|
# Do ping
|
||||||
echo "Pinging"
|
echo "Pinging"
|
||||||
ping6 $IPADDR -c 5 | tee $BASENAME.log
|
ping6 $IPADDR -c 5 | tee $BASENAME.scriptlog
|
||||||
# Fetch ping6 status code (not $? because this is piped)
|
# Fetch ping6 status code (not $? because this is piped)
|
||||||
STATUS=${PIPESTATUS[0]}
|
STATUS=${PIPESTATUS[0]}
|
||||||
|
|
||||||
echo "Closing simulation and tunslip6"
|
echo "Closing simulation and tunslip6"
|
||||||
sleep 2
|
sleep 1
|
||||||
kill -9 $JPID
|
kill -9 $JPID
|
||||||
kill -9 $MPID
|
kill -9 $MPID
|
||||||
|
sleep 1
|
||||||
|
rm COOJA.testlog
|
||||||
|
rm COOJA.log
|
||||||
|
|
||||||
if [ $STATUS -eq 0 ] ; then
|
if [ $STATUS -eq 0 ] ; then
|
||||||
mv $BASENAME.log $BASENAME.testlog
|
echo "$BASENAME: TEST OK" | tee $BASENAME.testlog;
|
||||||
echo " OK"
|
|
||||||
else
|
else
|
||||||
mv $BASENAME.log $BASENAME.faillog
|
# Verbose output when using CI
|
||||||
|
if [ "$CI" = "true" ]; then
|
||||||
|
echo "==== $BASENAME.coojalog ====" ; cat $BASENAME.coojalog;
|
||||||
|
echo "==== $BASENAME.tunsliplog ====" ; cat $BASENAME.tunsliplog;
|
||||||
|
echo "==== $BASENAME.scriptlog ====" ; cat $BASENAME.scriptlog;
|
||||||
|
else
|
||||||
|
echo "==== Check $BASENAME.coojalog, $BASENAME.tunsliplog, and $BASENAME.scriptlog for details ====";
|
||||||
|
fi;
|
||||||
|
|
||||||
echo ""
|
echo "$BASENAME: TEST FAIL ಠ_ಠ" | tee $BASENAME.testlog;
|
||||||
echo "---- COOJA.log"
|
|
||||||
cat COOJA.log
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "---- tunslip.log"
|
|
||||||
cat tunslip.log
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
echo "---- tunslip.err"
|
|
||||||
cat tunslip.err
|
|
||||||
|
|
||||||
echo " FAIL ಠ_ಠ" | tee -a $BASENAME.faillog;
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# We do not want Make to stop -> Return 0
|
# We do not want Make to stop -> Return 0
|
||||||
|
@ -25,8 +25,8 @@ sleep 2
|
|||||||
sudo kill -9 $CPID
|
sudo kill -9 $CPID
|
||||||
|
|
||||||
if [ $STATUS -eq 0 ] ; then
|
if [ $STATUS -eq 0 ] ; then
|
||||||
mv $BASENAME.log $BASENAME.testlog
|
cp $BASENAME.log $BASENAME.testlog
|
||||||
echo " OK"
|
echo "$BASENAME: TEST OK" | tee -a $BASENAME.testlog;
|
||||||
else
|
else
|
||||||
mv $BASENAME.log $BASENAME.faillog
|
mv $BASENAME.log $BASENAME.faillog
|
||||||
|
|
||||||
@ -38,7 +38,8 @@ else
|
|||||||
echo "---- node.err"
|
echo "---- node.err"
|
||||||
cat node.err
|
cat node.err
|
||||||
|
|
||||||
echo " FAIL ಠ_ಠ" | tee -a $BASENAME.faillog;
|
cp $BASENAME.log $BASENAME.faillog
|
||||||
|
echo "$BASENAME: TEST FAIL ಠ_ಠ" | tee -a $BASENAME.testlog;
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# We do not want Make to stop -> Return 0
|
# We do not want Make to stop -> Return 0
|
||||||
|
@ -1,20 +1,15 @@
|
|||||||
TESTS=$(wildcard ??-*.sh)
|
TESTS=$(wildcard ??-*.sh)
|
||||||
TESTLOGS=$(patsubst %.sh,%.testlog,$(TESTS))
|
TESTLOGS=$(patsubst %.sh,%.testlog,$(TESTS))
|
||||||
FAILLOGS=$(patsubst %.sh,%.faillog,$(TESTS))
|
|
||||||
|
|
||||||
CONTIKI=../..
|
CONTIKI=../..
|
||||||
|
|
||||||
tests: $(TESTLOGS)
|
tests: $(TESTLOGS)
|
||||||
|
|
||||||
report: clean tests
|
summary: clean tests
|
||||||
@echo | grep -s -e '' - $(TESTLOGS) $(FAILLOGS) > $@ || true
|
|
||||||
|
|
||||||
summary: report
|
|
||||||
ifeq ($(TESTS),)
|
ifeq ($(TESTS),)
|
||||||
@echo No tests > $@
|
@echo No tests > $@
|
||||||
else
|
else
|
||||||
@egrep -e ' OK| FAIL' $< > $@
|
@cat $(TESTLOGS) > $@
|
||||||
@ls -1 ??-*.faillog > /dev/null 2>&1; [ $$? = 0 ] && tail -v ??-*.log ??-*.faillog >> $@ || true
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
all: cooja clean tests
|
all: cooja clean tests
|
||||||
@ -23,7 +18,7 @@ all: cooja clean tests
|
|||||||
@bash "$(basename $@).sh" "$(CONTIKI)"
|
@bash "$(basename $@).sh" "$(CONTIKI)"
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@rm -f $(TESTLOGS) $(FAILLOGS) report summary
|
@rm -f *.*log report summary
|
||||||
|
|
||||||
cooja: $(CONTIKI)/tools/cooja/dist/cooja.jar
|
cooja: $(CONTIKI)/tools/cooja/dist/cooja.jar
|
||||||
$(CONTIKI)/tools/cooja/dist/cooja.jar:
|
$(CONTIKI)/tools/cooja/dist/cooja.jar:
|
||||||
|
Loading…
Reference in New Issue
Block a user