Avoid some test cases failures
[src/qa-testdefinitions.git] / common / scripts / test_can_send_receive.sh
1 #!/bin/sh
2
3
4 if [ ! -e /sys/class/net/can1 ];then
5         lava-test-case canconfig_can0 --result skip
6         lava-test-case canconfig_can1 --result skip
7         lava-test-case start_can0 --result skip
8         lava-test-case start_can1 --result skip
9         lava-test-case send_frames_through_can0 --result skip
10         lava-test-case receive_frames_through_can1 --result skip
11         lava-test-case stop_can0 --result skip
12         lava-test-case stop_can1 --result skip
13         exit 0
14 fi
15
16 #Make sure always that the can interface is down before
17 #starting the config step.
18 ip link set can0 down
19 ip link set can1 down
20
21 #config the can interfaces
22 ip link set can0 type can bitrate 50000
23 if [ $? -eq 0 ];then
24         lava-test-case canconfig_can0 --result pass
25 else
26         lava-test-case canconfig_can0 --result fail
27 fi
28 sleep 3
29 ip link set can1 type can bitrate 50000
30 if [ $? -eq 0 ];then
31         lava-test-case canconfig_can1 --result pass
32 else
33         lava-test-case canconfig_can1 --result fail
34 fi
35 sleep 3
36 #bring up the devices
37 ip link set can0 up
38 if [ $? -eq 0 ];then
39         lava-test-case start_can0 --result pass
40 else
41         lava-test-case start_can0 --result fail
42 fi
43 sleep 3
44 ip link set can1 up
45 if [ $? -eq 0 ];then
46         lava-test-case start_can1 --result pass
47 else
48         lava-test-case start_can1 --result fail
49 fi
50 sleep 3
51 #send frames
52 cangen can0 &
53 if [ $? -eq 0 ];then
54         lava-test-case send_frames_through_can0 --result pass
55 else
56         lava-test-case send_frames_through_can0 --result fail
57 fi
58
59 #receive frames
60 file_can=$(mktemp)
61 candump can1 > $file_can &
62 sleep 3
63 if [ -s $file_can ];then
64         lava-test-case receive_frames_through_can1 --result pass
65 else
66         lava-test-case receive_frames_through_can1 --result fail
67 fi
68 rm $file_can
69
70 sleep 10
71 ip link set can0 down
72 if [ $? -eq 0 ];then
73         lava-test-case stop_can0 --result pass
74 else
75         lava-test-case stop_can0 --result fail
76 fi
77 sleep 3
78 ip link set can1 down
79 if [ $? -eq 0 ];then
80         lava-test-case stop_can1 --result pass
81 else
82         lava-test-case stop_can1 --result fail
83 fi
84 sleep 5