X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=common%2Fscripts%2Ftest_can_modules.sh;h=87b2a86be34f5cd5c6279ac1bd01b58b1aa0ef0c;hb=refs%2Fheads%2Fjellyfish;hp=6fe4b0251b5c8853e86541f299a070afbc16d13b;hpb=37f31bb32e67c443e4a67fdebc3c13ca1253c959;p=src%2Fqa-testdefinitions.git diff --git a/common/scripts/test_can_modules.sh b/common/scripts/test_can_modules.sh index 6fe4b02..87b2a86 100755 --- a/common/scripts/test_can_modules.sh +++ b/common/scripts/test_can_modules.sh @@ -1,5 +1,8 @@ #!/bin/sh +RCAR_CAN=0 +CAN_BCM=0 + if [ ! -e /sys/class/net/can1 ];then lava-test-case show_can_modules --result skip lava-test-case unload_can_raw_module --result skip @@ -15,111 +18,98 @@ if [ ! -e /sys/class/net/can1 ];then lava-test-case canconfig_can0 --result skip exit 0 fi -lsmod | grep can -if [ $? -eq 0 ];then - lava-test-case show_can_modules --result pass -else - lava-test-case show_can_modules --result fail -fi -sleep 4 - -rmmod can_raw +# remove module "$1" +remove_module() { + lsmod | grep -q "^$1[[:space:]]" + if [ $? -ne 0 ];then + lava-test-case unload_$1_module --result skip + return 0 + fi + rmmod $1 + if [ $? -eq 0 ];then + lava-test-case unload_$1_module --result pass + else + lava-test-case unload_$1_module --result fail + fi +} + +modprobe_module() { + modprobe $1 + if [ $? -eq 0 ];then + lava-test-case load_$1_module --result pass + else + lava-test-case load_$1_module --result fail + fi +} + +remove_module can_raw + +# handle "rmmod: ERROR: Module can is in use by: can_bcm" +lsmod | grep -q can_bcm if [ $? -eq 0 ];then - lava-test-case unload_can_raw_module --result pass -else - lava-test-case unload_can_raw_module --result fail + CAN_BCM=1 + remove_module can_bcm fi -rmmod can -if [ $? -eq 0 ];then - lava-test-case unload_can_module --result pass -else - lava-test-case unload_can_module --result fail -fi +remove_module can -rmmod c_can_platform -if [ $? -eq 0 ];then - lava-test-case unload_c_can_platform_module --result pass -else - lava-test-case unload_c_can_platform_module --result fail -fi +remove_module c_can_platform -rmmod c_can -if [ $? -eq 0 ];then - lava-test-case unload_c_can_module --result pass -else - lava-test-case unload_c_can_module --result fail -fi +remove_module c_can -rmmod can_dev +lsmod | grep -q rcar_can if [ $? -eq 0 ];then - lava-test-case unload_can_dev_module --result pass -else - lava-test-case unload_can_dev_module --result fail + RCAR_CAN=1 + remove_module rcar_can fi -sleep 5 +remove_module can_dev -ip link set can0 type can bitrate 50000 +ip -V 2>&1 | grep -q -i BusyBox if [ $? -eq 0 ];then - lava-test-case canconfig_can0 --result fail + lava-test-case canconfig_can0 --result skip else - lava-test-case canconfig_can0 --result pass + ip link set can0 type can bitrate 50000 + if [ $? -eq 0 ];then + lava-test-case canconfig_can0 --result fail + else + lava-test-case canconfig_can0 --result pass + fi fi +modprobe_module can -sleep 5 +modprobe_module can_raw -modprobe can -if [ $? -eq 0 ];then - lava-test-case load_can_module --result pass -else - lava-test-case load_can_module --result fail -fi +modprobe_module c_can -modprobe can_raw -x=$? -sleep 5 -if [ $x -eq 0 ];then - lava-test-case load_can_raw_module --result pass -else - lava-test-case load_can_raw_module --result fail -fi -sleep 3 +modprobe_module c_can_platform -modprobe c_can -if [ $? -eq 0 ];then - lava-test-case load_c_can_module --result pass -else - lava-test-case load_c_can_module --result fail -fi +modprobe_module can_dev -modprobe c_can_platform -if [ $? -eq 0 ];then - lava-test-case load_c_can_platform_module --result pass -else - lava-test-case load_c_can_platform_module --result fail +if [ $RCAR_CAN -eq 1 ];then + modprobe_module rcar_can fi -modprobe can_dev -if [ $? -eq 0 ];then - lava-test-case load_can_dev_module --result pass -else - lava-test-case load_can_dev_module --result fail +if [ $CAN_BCM -eq 1 ];then + modprobe_module can_bcm fi -sleep 5 - #Make sure always that the can interface is down before #starting the config step. ip link set can0 down -ip link set can0 type can bitrate 50000 +ip -V 2>&1 | grep -q -i BusyBox if [ $? -eq 0 ];then - lava-test-case canconfig_can0 --result pass + lava-test-case canconfig_can0 --result skip else - lava-test-case canconfig_can0 --result fail + ip link set can0 type can bitrate 50000 + if [ $? -eq 0 ];then + lava-test-case canconfig_can0 --result pass + else + lava-test-case canconfig_can0 --result fail + fi fi sleep 3