selftests: firmware: skip unsupported custom firmware fallback tests
authorAmit Pundir <amit.pundir@linaro.org>
Wed, 8 Nov 2017 19:40:35 +0000 (01:10 +0530)
committerShuah Khan <shuahkh@osg.samsung.com>
Wed, 15 Nov 2017 15:27:57 +0000 (08:27 -0700)
Ignore custom firmware loading and cancellation tests on older
kernel releases, which do not support this feature.

Fixes: 061132d2b9c9 ("test_firmware: add test custom fallback trigger")
Reviewed-by: Sumit Semwal <sumit.semwal@linaro.org>
Acked-by: Luis R. Rodriguez <mcgrof@kernel.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
tools/testing/selftests/firmware/fw_fallback.sh

index a52a3ba..34a42c6 100755 (executable)
@@ -86,6 +86,11 @@ load_fw_cancel()
 
 load_fw_custom()
 {
+       if [ ! -e "$DIR"/trigger_custom_fallback ]; then
+               echo "$0: custom fallback trigger not present, ignoring test" >&2
+               return 1
+       fi
+
        local name="$1"
        local file="$2"
 
@@ -108,11 +113,17 @@ load_fw_custom()
 
        # Wait for request to finish.
        wait
+       return 0
 }
 
 
 load_fw_custom_cancel()
 {
+       if [ ! -e "$DIR"/trigger_custom_fallback ]; then
+               echo "$0: canceling custom fallback trigger not present, ignoring test" >&2
+               return 1
+       fi
+
        local name="$1"
        local file="$2"
 
@@ -133,6 +144,7 @@ load_fw_custom_cancel()
 
        # Wait for request to finish.
        wait
+       return 0
 }
 
 load_fw_fallback_with_child()
@@ -227,20 +239,22 @@ else
        echo "$0: cancelling fallback mechanism works"
 fi
 
-load_fw_custom "$NAME" "$FW"
-if ! diff -q "$FW" /dev/test_firmware >/dev/null ; then
-       echo "$0: firmware was not loaded" >&2
-       exit 1
-else
-       echo "$0: custom fallback loading mechanism works"
+if load_fw_custom "$NAME" "$FW" ; then
+       if ! diff -q "$FW" /dev/test_firmware >/dev/null ; then
+               echo "$0: firmware was not loaded" >&2
+               exit 1
+       else
+               echo "$0: custom fallback loading mechanism works"
+       fi
 fi
 
-load_fw_custom_cancel "nope-$NAME" "$FW"
-if diff -q "$FW" /dev/test_firmware >/dev/null ; then
-       echo "$0: firmware was expected to be cancelled" >&2
-       exit 1
-else
-       echo "$0: cancelling custom fallback mechanism works"
+if load_fw_custom_cancel "nope-$NAME" "$FW" ; then
+       if diff -q "$FW" /dev/test_firmware >/dev/null ; then
+               echo "$0: firmware was expected to be cancelled" >&2
+               exit 1
+       else
+               echo "$0: cancelling custom fallback mechanism works"
+       fi
 fi
 
 set +e