selftests: firmware: return Kselftest Skip code for skipped tests

When firmware test(s) get skipped because of unmet dependencies and/or
unsupported configuration, it returns 0 which is treated as a pass
by the Kselftest framework. This leads to false positive result even
when the test could not be run.

Change it to return kselftest skip code when a test gets skipped to
clearly report that the test could not be run.

Kselftest framework SKIP code is 4 and the framework prints appropriate
messages to indicate that the test is skipped.
Signed-off-by: default avatarShuah Khan (Samsung OSG) <shuah@kernel.org>
Reviewed-by: default avatarLuis R. Rodriguez <mcgrof@kernel.org>
Signed-off-by: default avatarShuah Khan (Samsung OSG) <shuah@kernel.org>
parent 7357dcf2
...@@ -74,7 +74,7 @@ load_fw_custom() ...@@ -74,7 +74,7 @@ load_fw_custom()
{ {
if [ ! -e "$DIR"/trigger_custom_fallback ]; then if [ ! -e "$DIR"/trigger_custom_fallback ]; then
echo "$0: custom fallback trigger not present, ignoring test" >&2 echo "$0: custom fallback trigger not present, ignoring test" >&2
return 1 exit $ksft_skip
fi fi
local name="$1" local name="$1"
...@@ -107,7 +107,7 @@ load_fw_custom_cancel() ...@@ -107,7 +107,7 @@ load_fw_custom_cancel()
{ {
if [ ! -e "$DIR"/trigger_custom_fallback ]; then if [ ! -e "$DIR"/trigger_custom_fallback ]; then
echo "$0: canceling custom fallback trigger not present, ignoring test" >&2 echo "$0: canceling custom fallback trigger not present, ignoring test" >&2
return 1 exit $ksft_skip
fi fi
local name="$1" local name="$1"
......
...@@ -30,6 +30,7 @@ fi ...@@ -30,6 +30,7 @@ fi
if [ ! -e "$DIR"/trigger_async_request ]; then if [ ! -e "$DIR"/trigger_async_request ]; then
echo "$0: empty filename: async trigger not present, ignoring test" >&2 echo "$0: empty filename: async trigger not present, ignoring test" >&2
exit $ksft_skip
else else
if printf '\000' >"$DIR"/trigger_async_request 2> /dev/null; then if printf '\000' >"$DIR"/trigger_async_request 2> /dev/null; then
echo "$0: empty filename should not succeed (async)" >&2 echo "$0: empty filename should not succeed (async)" >&2
...@@ -69,6 +70,7 @@ fi ...@@ -69,6 +70,7 @@ fi
# Try the asynchronous version too # Try the asynchronous version too
if [ ! -e "$DIR"/trigger_async_request ]; then if [ ! -e "$DIR"/trigger_async_request ]; then
echo "$0: firmware loading: async trigger not present, ignoring test" >&2 echo "$0: firmware loading: async trigger not present, ignoring test" >&2
exit $ksft_skip
else else
if ! echo -n "$NAME" >"$DIR"/trigger_async_request ; then if ! echo -n "$NAME" >"$DIR"/trigger_async_request ; then
echo "$0: could not trigger async request" >&2 echo "$0: could not trigger async request" >&2
...@@ -89,7 +91,7 @@ test_config_present() ...@@ -89,7 +91,7 @@ test_config_present()
{ {
if [ ! -f $DIR/reset ]; then if [ ! -f $DIR/reset ]; then
echo "Configuration triggers not present, ignoring test" echo "Configuration triggers not present, ignoring test"
exit 0 exit $ksft_skip
fi fi
} }
......
...@@ -9,11 +9,14 @@ DIR=/sys/devices/virtual/misc/test_firmware ...@@ -9,11 +9,14 @@ DIR=/sys/devices/virtual/misc/test_firmware
PROC_CONFIG="/proc/config.gz" PROC_CONFIG="/proc/config.gz"
TEST_DIR=$(dirname $0) TEST_DIR=$(dirname $0)
# Kselftest framework requirement - SKIP code is 4.
ksft_skip=4
print_reqs_exit() print_reqs_exit()
{ {
echo "You must have the following enabled in your kernel:" >&2 echo "You must have the following enabled in your kernel:" >&2
cat $TEST_DIR/config >&2 cat $TEST_DIR/config >&2
exit 1 exit $ksft_skip
} }
test_modprobe() test_modprobe()
...@@ -88,7 +91,7 @@ verify_reqs() ...@@ -88,7 +91,7 @@ verify_reqs()
if [ "$TEST_REQS_FW_SYSFS_FALLBACK" = "yes" ]; then if [ "$TEST_REQS_FW_SYSFS_FALLBACK" = "yes" ]; then
if [ ! "$HAS_FW_LOADER_USER_HELPER" = "yes" ]; then if [ ! "$HAS_FW_LOADER_USER_HELPER" = "yes" ]; then
echo "usermode helper disabled so ignoring test" echo "usermode helper disabled so ignoring test"
exit 0 exit $ksft_skip
fi fi
fi fi
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment