3 #This test is writen taking the DRA7xx-EVM board as an example
4 #these tests will be skipped if 2 interfaces are not detected.
5 #Theorical values of bitrate is from 1Kbit/s to 1Mbit/s
6 #Real values to provide transmission are between 10797 bit/s and 1909090git bit/s
7 #Real values that doesn't provide transmission but belong to the domain are between 781 bit/s and 5209999 bit/s
9 if [ ! -e /sys/class/net/can1 ];then
10 lava-test-case can0_bitrate_range_start --result skip
11 lava-test-case can1_bitrate_range_start --result skip
12 lava-test-case can1_xfer_config_range_start --result skip
13 lava-test-case can1_xfer_tx_range_start --result skip
14 lava-test-case can1_xfer_tx_range_end --result skip
15 lava-test-case can0_bitrate_range_end --result skip
19 #This is the first part of the test, that tests if the bitrate inserted belongs to the domain and if
20 #this first bitrate afford frames transmission or not
23 lava-test-case stop_can0 --result pass
25 lava-test-case stop_can0 --result fail
30 lava-test-case stop_can1 --result pass
32 lava-test-case stop_can1 --result fail
39 for b in `seq 778 790`;do
40 ip link set can0 type can bitrate $b
43 lava-test-case can0_bitrate_range_start --result pass --measurement $b --units bit/s
44 echo "$b is the first bitrate in the domain"
46 ip link set can1 type can bitrate $b
48 lava-test-case can1_bitrate_range_start --result pass --measurement $b --units bit/s
50 lava-test-case can1_bitrate_range_start --result fail --measurement $b --units bit/s
55 lava-test-case start_can0 --result pass
57 lava-test-case start_can0 --result fail
62 lava-test-case start_can1 --result pass
64 lava-test-case start_can1 --result fail
69 candump can1 > $file_can &
71 if [ -s $file_can ];then
72 lava-test-case can1_xfer_config_range_start --result fail --measurement $b --units bit/s
74 lava-test-case can1_xfer_config_range_start --result pass --measurement $b --units bit/s
76 echo "This bitrate $b belongs to the domain but doesn't provide frames transmission"
83 if [ $found_bitrate -eq 0 ];then
84 lava-test-case can0_bitrate_range_start --result fail --measurement $b --units bit/s
86 echo "There is no supportable bitrate in this interval"
91 #This is the second part of the test, it tests the first bitrate to provide frames transmission
95 found_bitrate_for_transmisson=0
96 for b in `seq 10790 10800`;do
97 ip link set can0 type can bitrate $b
98 ip link set can1 type can bitrate $b
104 candump can1 > $file_can &
106 if [ -s $file_can ];then
107 found_bitrate_for_transmisson=1
108 lava-test-case can1_xfer_tx_range_start --result pass --measurement $b --units bit/s
110 echo "$b is the first supportable bitrate to provide transmission"
114 ip link set can0 down
115 ip link set can1 down
119 if [ $found_bitrate_for_transmisson -eq 0 ];then
120 lava-test-case can1_xfer_tx_range_start --result fail --measurement $b --units bit/s
122 echo "There is no bitrate in this interval to provide frames transmission"
126 #This is the third part of the test, it tests the last bitrate to provide frames transmission
128 ip link set can0 down
129 ip link set can1 down
130 bitrate_no_transmission=0
131 for b in `seq 1909088 1909092`;do
132 ip link set can0 type can bitrate $b
133 ip link set can1 type can bitrate $b
139 candump can1 > $file_can &
141 size=$(stat -c %s $file_can)
142 if [ $size -eq 0 ];then
143 bitrate_no_transmission=1
144 lava-test-case can1_xfer_tx_range_end --result pass --measurement $(($b-1)) --units bit/s
146 echo "This bitrate $b doesn't provide frames transmission"
147 echo "The last bitrate to provide frames transmission is $(($b-1))"
150 ip link set can0 down
151 ip link set can1 down
155 if [ $bitrate_no_transmission -eq 0 ];then
156 lava-test-case can1_xfer_tx_range_end --result skip --measurement $b --units bit/s
157 echo "All bitrates in this interval provide frames transmission, the last bitrate not found in this range"
158 ip link set can0 down
159 ip link set can1 down
162 #This is the last part of the test, it tests the last bitrate that belongs to the domain
164 ip link set can0 down
165 ip link set can1 down
167 for b in `seq 5290999 5291000`;do
168 ip link set can0 type can bitrate $b
173 lava-test-case can0_bitrate_range_end --result pass --measurement $(($b-1)) --units bit/s
174 echo "$b is the first bitrate to be out of the domain"
175 echo "The last bitrate to belong to the domain is $(($b-1))"
180 if [ $out_of_domain -eq 0 ];then
181 lava-test-case can0_bitrate_range_end --result fail --measurement $b --units bit/s
182 echo "All bitrates in this interval belong to the domain"