summaryrefslogtreecommitdiffstats
path: root/common/scripts/test_can_loopback_mode.sh
diff options
context:
space:
mode:
Diffstat (limited to 'common/scripts/test_can_loopback_mode.sh')
-rwxr-xr-xcommon/scripts/test_can_loopback_mode.sh61
1 files changed, 61 insertions, 0 deletions
diff --git a/common/scripts/test_can_loopback_mode.sh b/common/scripts/test_can_loopback_mode.sh
new file mode 100755
index 0000000..bd96c6b
--- /dev/null
+++ b/common/scripts/test_can_loopback_mode.sh
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+if [ ! -e /sys/class/net/can0 ];then
+ 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
+fi
+sleep 2
+#config the can interfaces
+canconfig can0 bitrate 50000 ctrlmode loopback on
+sleep 2
+if [ $? -eq 0 ];then
+ lava-test-case canconfig_can0 --result pass
+else
+ lava-test-case canconfig_can0 --result fail
+fi
+sleep 3
+
+#bring up the devices
+canconfig can0 start
+if [ $? -eq 0 ];then
+ lava-test-case start_can0 --result pass
+else
+ lava-test-case start_can0 --result fail
+fi
+sleep 4
+
+#send frames
+cansequence -p can0 &
+x=$?
+sleep 5
+if [ $x -eq 0 ];then
+ lava-test-case send_frames_through_can0 --result pass
+else
+ lava-test-case send_frames_through_can0 --result fail
+fi
+sleep 3
+file_can=$(mktemp)
+
+#receive frames
+candump can0 > $file_can &
+sleep 4
+if [ -s $file_can ];then
+ lava-test-case receive_frames_through_can0 --result pass
+else
+ lava-test-case receive_frames_through_can0 --result fail
+fi
+rm $file_can
+
+sleep 3
+canconfig can0 stop
+if [ $? -eq 0 ];then
+ lava-test-case stop_can0 --result pass
+else
+ lava-test-case stop_can0 --result fail
+fi
+
+sleep 5