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