diff options
-rwxr-xr-x | common/scripts/test_can_bitrate.sh | 87 |
1 files changed, 44 insertions, 43 deletions
diff --git a/common/scripts/test_can_bitrate.sh b/common/scripts/test_can_bitrate.sh index 0a34fc0..2461fa0 100755 --- a/common/scripts/test_can_bitrate.sh +++ b/common/scripts/test_can_bitrate.sh @@ -1,17 +1,18 @@ #!/bin/sh #This test is writen taking the DRA7xx-EVM board as an example +#these tests will be skipped if 2 interfaces are not detected. #Theorical values of bitrate is from 1Kbit/s to 1Mbit/s #Real values to provide transmission are between 10797 bit/s and 1909090git bit/s #Real values that doesn't provide transmission but belong to the domain are between 781 bit/s and 5209999 bit/s if [ ! -e /sys/class/net/can1 ];then - lava-test-case canconfig_can0_bitrate --result skip - lava-test-case receive_frames_through_can1 --result skip - lava-test-case receive_frames_through_can1 --result skip - lava-test-case receive_frames_through_can1 --result skip - lava-test-case canconfig_can0_bitrate --result skip - lava-test-case receive_frames_through_can1 --result skip + lava-test-case can0_bitrate_range_start --result skip + lava-test-case can1_bitrate_range_start --result skip + lava-test-case can1_xfer_config_range_start --result skip + lava-test-case can1_xfer_tx_range_start --result skip + lava-test-case can1_xfer_tx_range_end --result skip + lava-test-case can0_bitrate_range_end --result skip exit 0 fi @@ -19,16 +20,16 @@ fi #this first bitrate afford frames transmission or not ip link set can0 down if [ $? -eq 0 ];then - lava-test-case stop_can0 --result pass + lava-test-case stop_can0 --result pass else - lava-test-case stop_can0 --result fail + lava-test-case stop_can0 --result fail fi sleep 2 ip link set can1 down if [ $? -eq 0 ];then - lava-test-case stop_can1 --result pass + lava-test-case stop_can1 --result pass else - lava-test-case stop_can1 --result fail + lava-test-case stop_can1 --result fail fi sleep 2 @@ -39,14 +40,14 @@ for b in `seq 778 790`;do ip link set can0 type can bitrate $b x=$? if [ $x -eq 0 ];then - lava-test-case can0_bitrate --result pass --measurement $b --units bit/s + lava-test-case can0_bitrate_range_start --result pass --measurement $b --units bit/s echo "$b is the first bitrate in the domain" found_bitrate=1 ip link set can1 type can bitrate $b if [ $? -eq 0 ];then - lava-test-case can1_bitrate --result pass --measurement $b --units bit/s + lava-test-case can1_bitrate_range_start --result pass --measurement $b --units bit/s else - lava-test-case can1_bitrate --result fail --measurement $b --units bit/s + lava-test-case can1_bitrate_range_start --result fail --measurement $b --units bit/s fi sleep 2 ip link set can0 up @@ -68,19 +69,19 @@ for b in `seq 778 790`;do candump can1 > $file_can & sleep 3 if [ -s $file_can ];then - lava-test-case Receive_can1 --result pass --measurement $b --units bit/s + lava-test-case can1_xfer_config_range_start --result pass --measurement $b --units bit/s else - lava-test-case Receive_can1 --result fail --measurement $b --units bit/s + lava-test-case can1_xfer_config_range_start --result fail --measurement $b --units bit/s sleep 2 echo "This bitrate $b belongs to the domain but doesn't provide frames transmission" - break fi rm $file_can + break fi done if [ $found_bitrate -eq 0 ];then - lava-test-case can0_bitrate --result fail --measurement $b --units bit/s + lava-test-case can0_bitrate_range_start --result fail --measurement $b --units bit/s sleep 2 echo "There is no supportable bitrate in this interval" fi @@ -93,20 +94,21 @@ ip link set can0 down ip link set can1 down found_bitrate_for_transmisson=0 for b in `seq 10790 10800`;do - ip link set can0 type can bitrate $b - ip link set can1 type can bitrate $b - ip link set can0 up - ip link set can1 up - sleep 3 - file_can=$(mktemp) + ip link set can0 type can bitrate $b + ip link set can1 type can bitrate $b + ip link set can0 up + ip link set can1 up + sleep 3 + file_can=$(mktemp) cangen can0 & candump can1 > $file_can & sleep 4 - if [ -s $file_can ];then + if [ -s $file_can ];then found_bitrate_for_transmisson=1 - lava-test-case Receive_can1 --result pass --measurement $b --units bit/s - sleep 2 + lava-test-case can1_xfer_tx_range_start --result pass --measurement $b --units bit/s + sleep 2 echo "$b is the first supportable bitrate to provide transmission" + rm $file_can break fi ip link set can0 down @@ -115,7 +117,7 @@ for b in `seq 10790 10800`;do done if [ $found_bitrate_for_transmisson -eq 0 ];then - lava-test-case Receive_can1 --result fail --measurement $b --units bit/s + lava-test-case can1_xfer_tx_range_start --result fail --measurement $b --units bit/s sleep 2 echo "There is no bitrate in this interval to provide frames transmission" fi @@ -127,20 +129,19 @@ ip link set can0 down ip link set can1 down bitrate_no_transmission=0 for b in `seq 1909088 1909092`;do - ip link set can0 type can bitrate $b - ip link set can1 type can bitrate $b - ip link set can0 up - ip link set can1 up - sleep 2 - file_can=$(mktemp) - cangen can0 & - candump can1 > $file_can & - sleep 3 + ip link set can0 type can bitrate $b + ip link set can1 type can bitrate $b + ip link set can0 up + ip link set can1 up + sleep 2 + file_can=$(mktemp) + cangen can0 & + candump can1 > $file_can & + sleep 3 size=$(stat -c %s $file_can) if [ $size -eq 0 ];then bitrate_no_transmission=1 - lava-test-case Receive_can1 --result pass --measurement $(($b-1)) --units bit/s - lava-test-case Receive_can1 --result fail --measurement $b --units bit/s + lava-test-case can1_xfer_tx_range_end --result pass --measurement $(($b-1)) --units bit/s sleep 2 echo "This bitrate $b doesn't provide frames transmission" echo "The last bitrate to provide frames transmission is $(($b-1))" @@ -148,12 +149,12 @@ for b in `seq 1909088 1909092`;do fi ip link set can0 down ip link set can1 down - rm $file_can + rm $file_can done if [ $bitrate_no_transmission -eq 0 ];then - lava-test-case Receive_can1 --result pass --measurement $b --units bit/s - echo "All bitrates in this interval provide frames transmission" + lava-test-case can1_xfer_tx_range_end --result fail --measurement $b --units bit/s + echo "All bitrates in this interval provide frames transmission, the last bitrate not found in this range" ip link set can0 down ip link set can1 down fi @@ -169,7 +170,7 @@ for b in `seq 5290999 5291000`;do sleep 2 if [ $x -ne 0 ];then out_of_domain=1 - lava-test-case can0_bitrate --result fail --measurement $b --units bit/s + lava-test-case can0_bitrate_range_end --result pass --measurement $(($b-1)) --units bit/s echo "$b is the first bitrate to be out of the domain" echo "The last bitrate to belong to the domain is $(($b-1))" break @@ -177,7 +178,7 @@ for b in `seq 5290999 5291000`;do done if [ $out_of_domain -eq 0 ];then - lava-test-case can0_bitrate --result pass --measurement $b --units bit/s + lava-test-case can0_bitrate_range_end --result fail --measurement $b --units bit/s echo "All bitrates in this interval belong to the domain" canconfig can0 stop canconfig can1 stop |