diff --git a/os/net/app-layer/coap/coap.c b/os/net/app-layer/coap/coap.c index da466e6d7..bcec49cee 100644 --- a/os/net/app-layer/coap/coap.c +++ b/os/net/app-layer/coap/coap.c @@ -544,8 +544,6 @@ coap_parse_message(void *packet, uint8_t *data, uint16_t data_len) return BAD_REQUEST_4_00; } - option_number += option_delta; - PRINTF("OPTION %u (delta %u, len %zu): ", option_number, option_delta, option_length); diff --git a/tests/17-tun-rpl-br/06-native-coap.sh b/tests/17-tun-rpl-br/06-native-coap.sh new file mode 100755 index 000000000..a42424ee4 --- /dev/null +++ b/tests/17-tun-rpl-br/06-native-coap.sh @@ -0,0 +1,62 @@ +#!/bin/bash + +# Contiki directory +CONTIKI=$1 +# Test basename +BASENAME=06-native-coap + +IPADDR=fd00::302:304:506:708 + +declare -i OKCOUNT=0 +declare -i TESTCOUNT=0 + +echo "Enabling IPv6" +sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 + +# Starting Contiki-NG native node +echo "Starting native CoAP server" +make -C $CONTIKI/examples/coap > make.log 2> make.err +sudo $CONTIKI/examples/coap/coap-example-server.native > node.log 2> node.err & +CPID=$! +sleep 2 + +# Send CoAP requests +echo "Sending CoAP requests" + +rm -f $BASENAME.log +for TARGET in .well-known/core test/push; do + echo "Get $TARGET" | tee -a $BASENAME.log + coap get coap://[$IPADDR]/$TARGET 2>&1 | tee coap.log + cat coap.log >> $BASENAME.log + # Fetch coap status code (not $? because this is piped) + SUCCESS=`grep -c '(2.05)' coap.log` + if [ $SUCCESS == 1 ]; then + printf "> OK\n" + OKCOUNT+=1 + else + printf "> FAIL\n" + fi + TESTCOUNT+=1 +done + +echo "Closing native node" +sleep 2 +pgrep hello-world | sudo xargs kill -9 + +if [ $TESTCOUNT -eq $OKCOUNT ] ; then + printf "%-40s TEST OK %3d/%d\n" "$BASENAME" "$OKCOUNT" "$TESTCOUNT" > $BASENAME.testlog; +else + echo "==== make.log ====" ; cat make.log; + echo "==== make.err ====" ; cat make.err; + echo "==== node.log ====" ; cat node.log; + echo "==== node.err ====" ; cat node.err; + echo "==== $BASENAME.log ====" ; cat $BASENAME.log; + + printf "%-32s TEST FAIL %3d/%d\n" "$BASENAME" "$OKCOUNT" "$TESTCOUNT" > $BASENAME.testlog; +fi + +rm -f make.log make.err node.log node.err coap.log + +# We do not want Make to stop -> Return 0 +# The Makefile will check if a log contains FAIL at the end +exit 0 diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index ac3e975cb..14c1636ae 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -77,6 +77,12 @@ RUN echo "#!/bin/bash\nant -Dbasedir=${COOJA} -f ${COOJA}/build.xml run" > ${HOM # Enable IPv6 -- must be done at runtime, not in Dockerfile #RUN sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 +# Install coap-cli +RUN sudo apt-get install -y npm \ + && sudo apt-get clean \ + && sudo npm install coap-cli -g \ + && sudo ln -s /usr/bin/nodejs /usr/bin/node + # Working directory WORKDIR ${CONTIKI_NG}