[PATCH 2/2] selftests: firmware: skip unsupported custom firmware fallback tests

From: Amit Pundir
Date: Wed Nov 08 2017 - 06:48:09 EST


Ignore custom firmware loading and cancellation tests on older
kernel releases, which do not support this feature.

Signed-off-by: Amit Pundir <amit.pundir@xxxxxxxxxx>
---
tools/testing/selftests/firmware/fw_fallback.sh | 38 +++++++++++++++++--------
1 file changed, 26 insertions(+), 12 deletions(-)

diff --git a/tools/testing/selftests/firmware/fw_fallback.sh b/tools/testing/selftests/firmware/fw_fallback.sh
index a52a3bab532b..72858c921eed 100755
--- a/tools/testing/selftests/firmware/fw_fallback.sh
+++ b/tools/testing/selftests/firmware/fw_fallback.sh
@@ -86,6 +86,11 @@ load_fw_cancel()

load_fw_custom()
{
+ if [ ! -e "$DIR"/trigger_custom_fallback ]; then
+ echo "$0: custom fallback loading trigger not supported" >&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: cancelling custom fallback trigger not supported" >&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
--
2.7.4