]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
test_firmware: wrap basic sysfs fallback tests into helper
authorLuis R. Rodriguez <mcgrof@kernel.org>
Mon, 20 Nov 2017 18:24:00 +0000 (10:24 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Nov 2017 10:22:49 +0000 (11:22 +0100)
These cannot run on all kernel builds. This will help us later
skip this test on kernel configs where non-applicable.

Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
tools/testing/selftests/firmware/fw_fallback.sh

index e364631837d6f19c24a8627d0312cdf6b9fe7c70..0d4527c5e8a4f288331fac0cf2e3465a8704180c 100755 (executable)
@@ -212,37 +212,51 @@ test_syfs_timeout()
        fi
 }
 
-test_syfs_timeout
+run_sysfs_main_tests()
+{
+       test_syfs_timeout
+       # Put timeout high enough for us to do work but not so long that failures
+       # slow down this test too much.
+       echo 4 >/sys/class/firmware/timeout
 
-# Put timeout high enough for us to do work but not so long that failures
-# slow down this test too much.
-echo 4 >/sys/class/firmware/timeout
+       # Load this script instead of the desired firmware.
+       load_fw "$NAME" "$0"
+       if diff -q "$FW" /dev/test_firmware >/dev/null ; then
+               echo "$0: firmware was not expected to match" >&2
+               exit 1
+       else
+               echo "$0: firmware comparison works"
+       fi
 
-# Load this script instead of the desired firmware.
-load_fw "$NAME" "$0"
-if diff -q "$FW" /dev/test_firmware >/dev/null ; then
-       echo "$0: firmware was not expected to match" >&2
-       exit 1
-else
-       echo "$0: firmware comparison works"
-fi
+       # Do a proper load, which should work correctly.
+       load_fw "$NAME" "$FW"
+       if ! diff -q "$FW" /dev/test_firmware >/dev/null ; then
+               echo "$0: firmware was not loaded" >&2
+               exit 1
+       else
+               echo "$0: fallback mechanism works"
+       fi
 
-# Do a proper load, which should work correctly.
-load_fw "$NAME" "$FW"
-if ! diff -q "$FW" /dev/test_firmware >/dev/null ; then
-       echo "$0: firmware was not loaded" >&2
-       exit 1
-else
-       echo "$0: fallback mechanism works"
-fi
+       load_fw_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 fallback mechanism works"
+       fi
 
-load_fw_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 fallback mechanism works"
-fi
+       set +e
+       load_fw_fallback_with_child "nope-signal-$NAME" "$FW"
+       if [ "$?" -eq 0 ]; then
+               echo "$0: SIGCHLD on sync ignored as expected" >&2
+       else
+               echo "$0: error - sync firmware request cancelled due to SIGCHLD" >&2
+               exit 1
+       fi
+       set -e
+}
+
+run_sysfs_main_tests
 
 if load_fw_custom "$NAME" "$FW" ; then
        if ! diff -q "$FW" /dev/test_firmware >/dev/null ; then
@@ -262,14 +276,4 @@ if load_fw_custom_cancel "nope-$NAME" "$FW" ; then
        fi
 fi
 
-set +e
-load_fw_fallback_with_child "nope-signal-$NAME" "$FW"
-if [ "$?" -eq 0 ]; then
-       echo "$0: SIGCHLD on sync ignored as expected" >&2
-else
-       echo "$0: error - sync firmware request cancelled due to SIGCHLD" >&2
-       exit 1
-fi
-set -e
-
 exit 0