aboutsummaryrefslogtreecommitdiffstats
path: root/common/scripts/test_can_modules.sh
diff options
context:
space:
mode:
authorkhouloud touil <ktouil@baylibre.com>2018-06-22 14:26:49 +0200
committerkhouloud touil <ktouil@baylibre.com>2018-07-02 16:29:01 +0200
commitd69c057664659f8139781c5e3b548d96228b722f (patch)
treecd1f0fb9ee6b6690d235dc091015848ffdb1767f /common/scripts/test_can_modules.sh
parent11575952ece456be4e07c5f24ead3cf8783ddcba (diff)
CAN bus tests
This commit for testing CAN modules, sending and receiving frames, showing stats and and testing suitable bitrates for transmission. The "test_can_loopback_mode" test can be run on a board with one interface. This test will fail gracfully if the board dosen't have any CAN interface. The other tests needs to be run on a board with two CAN interfaces (e.g. dra7 with external transceiver.) These tests requires two interfaces on the same board to send frames with the first interface and to receive them with the other one These tests will fail gracfully by skiping all test cases if the board doesn't have two interfaces. This link for the DRA7xx-EVM job : http://lava.baylibre.com:10080/scheduler/job/2860 This link for the AM335X-BONEBLACK (no CAN interface) : http://lava.baylibre.com:10080/scheduler/job/2862 Change-Id: I7d4c69f7817adbea8281d264cbbb7fa55571584e Signed-off-by: khouloud touil <ktouil@baylibre.com>
Diffstat (limited to 'common/scripts/test_can_modules.sh')
-rwxr-xr-xcommon/scripts/test_can_modules.sh139
1 files changed, 139 insertions, 0 deletions
diff --git a/common/scripts/test_can_modules.sh b/common/scripts/test_can_modules.sh
new file mode 100755
index 0000000..d7966b4
--- /dev/null
+++ b/common/scripts/test_can_modules.sh
@@ -0,0 +1,139 @@
+#!/bin/sh
+
+if [ ! -e /sys/class/net/can1 ];then
+ lava-test-case show_can_modules --result skip
+ lava-test-case unload_can_raw_module --result skip
+ lava-test-case unload_can_module --result skip
+ lava-test-case unload_c_can_platform_module --result skip
+ lava-test-case unload_c_can_module --result skipp
+ lava-test-case unload_can_dev_module --result skip
+ lava-test-case canconfig_can0 --result skip
+ lava-test-case canconfig_can1 --result skip
+ lava-test-case load_can_module --result skip
+ lava-test-case load_can_raw_module --result skip
+ lava-test-case load_c_can_module --result skip
+ lava-test-case load_can_dev_module --result skip
+ lava-test-case canconfig_can0 --result skip
+ lava-test-case canconfig_can1 --result skip
+ exit 0
+fi
+lsmod | grep can
+if [ $? -eq 0 ];then
+ lava-test-case show_can_modules --result pass
+else
+ lava-test-case show_can_modules --result fail
+fi
+
+sleep 4
+
+rmmod can_raw
+if [ $? -eq 0 ];then
+ lava-test-case unload_can_raw_module --result pass
+else
+ lava-test-case unload_can_raw_module --result fail
+fi
+
+rmmod can
+if [ $? -eq 0 ];then
+ lava-test-case unload_can_module --result pass
+else
+ lava-test-case unload_can_module --result fail
+fi
+
+rmmod c_can_platform
+if [ $? -eq 0 ];then
+ lava-test-case unload_c_can_platform_module --result pass
+else
+ lava-test-case unload_c_can_platform_module --result fail
+fi
+
+rmmod c_can
+if [ $? -eq 0 ];then
+ lava-test-case unload_c_can_module --result pass
+else
+ lava-test-case unload_c_can_module --result fail
+fi
+
+rmmod can_dev
+if [ $? -eq 0 ];then
+ lava-test-case unload_can_dev_module --result pass
+else
+ lava-test-case unload_can_dev_module --result fail
+fi
+
+sleep 5
+
+canconfig can0 bitrate 50000
+if [ $? -eq 0 ];then
+ lava-test-case canconfig_can0 --result fail
+else
+ lava-test-case canconfig_can0 --result pass
+fi
+
+sleep 3
+
+canconfig can1 bitrate 50000
+if [ $? -eq 0 ];then
+ lava-test-case canconfig_can1 --result fail
+else
+ lava-test-case canconfig_can1 --result pass
+fi
+
+sleep 5
+
+modprobe can
+if [ $? -eq 0 ];then
+ lava-test-case load_can_module --result pass
+else
+ lava-test-case load_can_module --result fail
+fi
+
+modprobe can_raw
+x=$?
+sleep 5
+if [ $x -eq 0 ];then
+ lava-test-case load_can_raw_module --result pass
+else
+ lava-test-case load_can_raw_module --result fail
+fi
+sleep 3
+
+modprobe c_can
+if [ $? -eq 0 ];then
+ lava-test-case load_c_can_module --result pass
+else
+ lava-test-case load_c_can_module --result fail
+fi
+
+modprobe c_can_platform
+if [ $? -eq 0 ];then
+ lava-test-case load_c_can_platform_module --result pass
+else
+ lava-test-case load_c_can_platform_module --result fail
+fi
+
+modprobe can_dev
+if [ $? -eq 0 ];then
+ lava-test-case load_can_dev_module --result pass
+else
+ lava-test-case load_can_dev_module --result fail
+fi
+
+sleep 5
+
+canconfig can0 bitrate 50000
+if [ $? -eq 0 ];then
+ lava-test-case canconfig_can0 --result pass
+else
+ lava-test-case canconfig_can0 --result fail
+fi
+
+sleep 3
+canconfig can1 bitrate 50000
+if [ $? -eq 0 ];then
+ lava-test-case canconfig_can1 --result pass
+else
+ lava-test-case canconfig_can1 --result fail
+fi
+
+sleep 3