Extend the waiting time for emulated platforms
[src/qa-testdefinitions.git] / common / scripts / test_can_loopback_mode.sh
index bd96c6b..96b1091 100755 (executable)
@@ -1,16 +1,35 @@
 #!/bin/sh
 
-if [ ! -e /sys/class/net/can0 ];then
+skip_tests() {
         lava-test-case canconfig_can0 --result skip
         lava-test-case start_can0 --result skip
         lava-test-case send_frames_through_can0 --result skip
         lava-test-case receive_frames_through_can0 --result skip
         lava-test-case stop_can0 --result skip
         exit 0
+}
+
+if [ ! -e /sys/class/net/can0 ];then
+       skip_tests
 fi
+
 sleep 2
+set -x
+ip -V 2>&1 | grep -q -i BusyBox
+RET=$?
+set +x
+if [ $RET -eq 0 ];then
+       echo "WARN: busybox ip is not handled"
+       # busybox ip does not handle bitrate option
+       skip_tests
+fi
+
+#Make sure always that the can interface is down before
+#starting the config step.
+ip link set can0 down
+
 #config the can interfaces
-canconfig can0 bitrate 50000 ctrlmode loopback on
+ip link set can0 type can bitrate 50000 loopback on
 sleep 2
 if [ $? -eq 0 ];then
         lava-test-case canconfig_can0 --result pass
@@ -20,7 +39,7 @@ fi
 sleep 3
 
 #bring up the devices
-canconfig can0 start
+ip link set can0 up
 if [ $? -eq 0 ];then
         lava-test-case start_can0 --result pass
 else
@@ -29,7 +48,7 @@ fi
 sleep 4
 
 #send frames
-cansequence -p can0 &
+cangen can0 &
 x=$?
 sleep 5
 if [ $x -eq 0 ];then
@@ -51,7 +70,7 @@ fi
 rm $file_can
 
 sleep 3
-canconfig can0 stop
+ip link set can0 down
 if [ $? -eq 0 ];then
         lava-test-case stop_can0 --result pass
 else