SPEC-2996: rework the CAN modules tests
[src/qa-testdefinitions.git] / common / scripts / test_can_modules.sh
1 #!/bin/sh
2
3 if [ ! -e /sys/class/net/can1 ];then
4         lava-test-case show_can_modules --result skip
5         lava-test-case unload_can_raw_module --result skip
6         lava-test-case unload_can_module --result skip
7         lava-test-case unload_c_can_platform_module --result skip
8         lava-test-case unload_c_can_module --result skipp
9         lava-test-case unload_can_dev_module --result skip
10         lava-test-case canconfig_can0 --result skip
11         lava-test-case load_can_module --result skip
12         lava-test-case load_can_raw_module --result skip
13         lava-test-case load_c_can_module --result skip
14         lava-test-case load_can_dev_module --result skip
15         lava-test-case canconfig_can0 --result skip
16         exit 0
17 fi
18
19 # remove module "$1"
20 remove_module() {
21         lsmod | grep -q "^$1[[:space:]]"
22         if [ $? -ne 0 ];then
23                 lava-test-case unload_$1_module --result skip
24                 return 0
25         fi
26         rmmod $1
27         if [ $? -eq 0 ];then
28                 lava-test-case unload_$1_module --result pass
29         else
30                 lava-test-case unload_$1_module --result fail
31         fi
32 }
33
34 modprobe_module() {
35         modprobe $1
36         if [ $? -eq 0 ];then
37                 lava-test-case load_$1_module --result pass
38         else
39                 lava-test-case load_$1_module --result fail
40         fi
41 }
42
43 remove_module can_raw
44
45 remove_module can
46
47 remove_module c_can_platform
48
49 remove_module c_can
50
51 remove_module can_dev unload_can_dev_module
52
53 ip -V | grep -q -i BusyBox
54 if [ $? -eq 0 ];then
55         lava-test-case canconfig_can0 --result skip
56 else
57         ip link set can0 type can bitrate 50000
58         if [ $? -eq 0 ];then
59                 lava-test-case canconfig_can0 --result fail
60         else
61                 lava-test-case canconfig_can0 --result pass
62         fi
63 fi
64
65 modprobe_module can
66
67 modprobe_module can_raw
68
69 modprobe_module c_can
70
71 modprobe_module c_can_platform
72
73 modprobe_module can_dev
74
75 #Make sure always that the can interface is down before
76 #starting the config step.
77 ip link set can0 down
78
79 ip -V | grep -q -i BusyBox
80 if [ $? -eq 0 ];then
81         lava-test-case canconfig_can0 --result skip
82 else
83         ip link set can0 type can bitrate 50000
84         if [ $? -eq 0 ];then
85                 lava-test-case canconfig_can0 --result pass
86         else
87                 lava-test-case canconfig_can0 --result fail
88         fi
89 fi
90
91 sleep 3