selftests: firmware: Add firmware_request_platform tests
authorHans de Goede <hdegoede@redhat.com>
Wed, 15 Jan 2020 16:35:50 +0000 (17:35 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 20 Mar 2020 13:54:04 +0000 (14:54 +0100)
Add tests cases for checking the new firmware_request_platform api.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Luis Chamberlain <mcgrof@kernel.org>
Link: https://lore.kernel.org/r/20200115163554.101315-7-hdegoede@redhat.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
tools/testing/selftests/firmware/fw_filesystem.sh

index 5689447..fcc2813 100755 (executable)
@@ -86,6 +86,29 @@ else
        fi
 fi
 
+# Try platform (EFI embedded fw) loading too
+if [ ! -e "$DIR"/trigger_request_platform ]; then
+       echo "$0: firmware loading: platform trigger not present, ignoring test" >&2
+else
+       if printf '\000' >"$DIR"/trigger_request_platform 2> /dev/null; then
+               echo "$0: empty filename should not succeed (platform)" >&2
+               exit 1
+       fi
+
+       # Note we echo a non-existing name, since files on the file-system
+       # are preferred over firmware embedded inside the platform's firmware
+       # The test adds a fake entry with the requested name to the platform's
+       # fw list, so the name does not matter as long as it does not exist
+       if ! echo -n "nope-$NAME" >"$DIR"/trigger_request_platform ; then
+               echo "$0: could not trigger request platform" >&2
+               exit 1
+       fi
+
+       # The test verifies itself that the loaded firmware contents matches
+       # the contents for the fake platform fw entry it added.
+       echo "$0: platform loading works"
+fi
+
 ### Batched requests tests
 test_config_present()
 {