Added Q-Mode regression tests working with Leshan Server
This commit is contained in:
parent
1f8754766a
commit
1dfa62fc88
|
@ -0,0 +1,69 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Contiki directory
|
||||
CONTIKI=$1
|
||||
# Test basename
|
||||
BASENAME=08-lwm2m-qmode-ipso-test
|
||||
|
||||
IPADDR=fd00::302:304:506:708
|
||||
|
||||
# Starting Contiki-NG native node
|
||||
echo "Starting native node - lwm2m/ipso objects with Q-Mode"
|
||||
make -C $CONTIKI/examples/lwm2m-ipso-objects clean >/dev/null
|
||||
make -C $CONTIKI/examples/lwm2m-ipso-objects DEFINES=LWM2M_Q_MODE_CONF_ENABLED=1,LWM2M_Q_MODE_CONF_INCLUDE_DYNAMIC_ADAPTATION=1 > make.log 2> make.err
|
||||
sudo $CONTIKI/examples/lwm2m-ipso-objects/example-ipso-objects.native > node.log 2> node.err &
|
||||
CPID=$!
|
||||
sleep 10
|
||||
|
||||
echo "Downloading leshan with Q-Mode support"
|
||||
wget -nc https://carlosgp143.github.io/resources/leshan-server-demo-qmode-support1.0.0-SNAPSHOT-jar-with-dependencies.jar
|
||||
echo "Starting leshan server with Q-Mode enabled"
|
||||
java -jar leshan-server-demo-qmode-support1.0.0-SNAPSHOT-jar-with-dependencies.jar >leshan.log 2>leshan.err &
|
||||
LESHID=$!
|
||||
|
||||
COUNTER=10
|
||||
while [ $COUNTER -gt 0 ]; do
|
||||
sleep 5
|
||||
aux=$(grep -c 'OK' leshan.err)
|
||||
if [ $aux -eq 2 ] ; then
|
||||
break
|
||||
fi
|
||||
let COUNTER-=1
|
||||
done
|
||||
|
||||
echo "Closing native node"
|
||||
sleep 1
|
||||
pgrep ipso | sudo xargs kill -9
|
||||
|
||||
echo "Closing leshan"
|
||||
sleep 1
|
||||
pgrep java | sudo xargs kill -9
|
||||
|
||||
#Two OKs needed: awake and sleeping
|
||||
aux=$(grep -c 'OK' leshan.err)
|
||||
if [ $aux -eq 2 ]
|
||||
then
|
||||
cp leshan.err $BASENAME.testlog;
|
||||
printf "%-32s TEST OK\n" "$BASENAME" | tee $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 "==== leshan.log ====" ; cat leshan.log;
|
||||
echo "==== leshan.err ====" ; cat leshan.err;
|
||||
echo "==== $BASENAME.log ====" ; cat $BASENAME.log;
|
||||
|
||||
printf "%-32s TEST FAIL\n" "$BASENAME" | tee $BASENAME.testlog;
|
||||
fi
|
||||
|
||||
rm make.log
|
||||
rm make.err
|
||||
rm node.log
|
||||
rm node.err
|
||||
rm leshan.log
|
||||
rm leshan.err
|
||||
|
||||
# We do not want Make to stop -> Return 0
|
||||
# The Makefile will check if a log contains FAIL at the end
|
||||
exit 0
|
|
@ -0,0 +1,68 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Contiki directory
|
||||
CONTIKI=$1
|
||||
# Test basename
|
||||
BASENAME=09-lwm2m-qmode-standalone-test
|
||||
|
||||
# Building standalone posix example
|
||||
echo "Compiling standalone posix example"
|
||||
make CONTIKI_NG=../../$CONTIKI -C example-lwm2m-standalone/lwm2m clean >/dev/null
|
||||
make CONTIKI_NG=../../$CONTIKI -C example-lwm2m-standalone/lwm2m DEFINES=LWM2M_Q_MODE_CONF_ENABLED=1,LWM2M_Q_MODE_CONF_INCLUDE_DYNAMIC_ADAPTATION=1 >make.log 2>make.err
|
||||
|
||||
echo "Downloading leshan with Q-Mode support"
|
||||
wget -nc https://carlosgp143.github.io/resources/leshan-server-demo-qmode-support1.0.0-SNAPSHOT-jar-with-dependencies.jar
|
||||
echo "Starting leshan server with Q-Mode enabled"
|
||||
java -jar leshan-server-demo-1.0.0-SNAPSHOT-jar-with-dependencies.jar -lp 5686 -slp 5687 >leshan.log 2>leshan.err &
|
||||
LESHID=$!
|
||||
|
||||
echo "Starting lwm2m standalone example"
|
||||
example-lwm2m-standalone/lwm2m/lwm2m-example coap://127.0.0.1:5686 > node.log 2> node.err &
|
||||
|
||||
CPID=$!
|
||||
|
||||
COUNTER=10
|
||||
while [ $COUNTER -gt 0 ]; do
|
||||
sleep 5
|
||||
aux=$(grep -c 'OK' leshan.err)
|
||||
if [ $aux -eq 2 ] ; then
|
||||
break
|
||||
fi
|
||||
let COUNTER-=1
|
||||
done
|
||||
|
||||
echo "Closing standalone example"
|
||||
sleep 1
|
||||
pgrep lwm2m-example | sudo xargs kill -9
|
||||
|
||||
echo "Closing leshan"
|
||||
sleep 1
|
||||
pgrep java | sudo xargs kill -9
|
||||
|
||||
aux=$(grep -c 'OK' leshan.err)
|
||||
if [ $aux -eq 2 ]
|
||||
then
|
||||
cp leshan.err $BASENAME.testlog;
|
||||
printf "%-32s TEST OK\n" "$BASENAME" | tee $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 "==== leshan.log ====" ; cat leshan.log;
|
||||
echo "==== leshan.err ====" ; cat leshan.err;
|
||||
echo "==== $BASENAME.log ====" ; cat $BASENAME.log;
|
||||
|
||||
printf "%-32s TEST FAIL\n" "$BASENAME" | tee $BASENAME.testlog;
|
||||
fi
|
||||
|
||||
rm make.log
|
||||
rm make.err
|
||||
rm node.log
|
||||
rm node.err
|
||||
rm leshan.log
|
||||
rm leshan.err
|
||||
|
||||
# We do not want Make to stop -> Return 0
|
||||
# The Makefile will check if a log contains FAIL at the end
|
||||
exit 0
|
|
@ -0,0 +1,20 @@
|
|||
import unittest, array, time
|
||||
|
||||
class TestQueueModeAwake(unittest.TestCase):
|
||||
global respAwakeTime
|
||||
global respSleepTime
|
||||
|
||||
def test_read_awake_time(self):
|
||||
self.assertEqual(respAwakeTime.getCode().getName(), "CONTENT")
|
||||
|
||||
def test_read_sleep_time(self):
|
||||
self.assertEqual(respSleepTime.getCode().getName(), "CONTENT")
|
||||
|
||||
|
||||
print "----------------------------------------"
|
||||
print "LWM2M Queue Mode Awake State Tester"
|
||||
print "----------------------------------------"
|
||||
|
||||
|
||||
suite = unittest.TestLoader().loadTestsFromTestCase(TestQueueModeAwake)
|
||||
unittest.TextTestRunner(verbosity=2).run(suite)
|
|
@ -0,0 +1,19 @@
|
|||
from __future__ import with_statement
|
||||
import unittest, array, time
|
||||
|
||||
class TestQueueModeSleep(unittest.TestCase):
|
||||
global client
|
||||
|
||||
def test_read_awake_time(self):
|
||||
self.assertIsNone(client.read("6000/0/3000"))
|
||||
|
||||
def test_read_sleep_time(self):
|
||||
self.assertIsNone(client.read("6000/0/3001"))
|
||||
|
||||
|
||||
print "----------------------------------------"
|
||||
print "LWM2M Queue Mode Sleep State Tester - name of client: ", client.endpoint
|
||||
print "----------------------------------------"
|
||||
|
||||
suite = unittest.TestLoader().loadTestsFromTestCase(TestQueueModeSleep)
|
||||
unittest.TextTestRunner(verbosity=2).run(suite)
|
Loading…
Reference in New Issue