u-boot/lib/efi_selftest
Ilias Apalodimas 479ab6c17e efi_selftest: add selftests for loadfile2 used to load initramfs
Provide a unit test loading an initial ramdisk using the
EFI_LOAD_FILE2_PROTOCOL. The test is only executed on request.

An example usage - given a file image with a file system in partition 1
holding file initrd - is:

* Configure the sandbox with

  CONFIG_EFI_SELFTEST=y
  CONFIG_EFI_LOAD_FILE2_INITRD=y
  CONFIG_EFI_INITRD_FILESPEC="host 0:1 initrd"

* Run ./u-boot and execute

    host bind 0 image
    setenv efi_selftest load initrd
    bootefi selftest

This would provide a test output like:

    Testing EFI API implementation

    Selected test: 'load initrd'

    Setting up 'load initrd'
    Setting up 'load initrd' succeeded

    Executing 'load initrd'
    Loaded 12378613 bytes
    CRC32 2997478465
    Executing 'load initrd' succeeded

Now the size and CRC32 can be compared to the provided file.

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-02-28 19:37:14 +01:00
..
.gitignore efi_selftest: Update .gitignore 2020-01-07 18:08:20 +01:00
efi_freestanding.c efi_loader: fix build error for freestanding.o 2019-03-14 21:03:14 +01:00
efi_selftest_bitblt.c efi_loader: consistent naming of protocol GUIDs 2019-04-23 00:37:27 +02:00
efi_selftest_block_device.c efi_driver: fix efi_uc_stop() 2020-01-15 00:51:51 +01:00
efi_selftest_config_table.c crc32: Use the crc.h header for crc functions 2019-12-02 18:23:08 -05:00
efi_selftest_console.c efi_loader: struct efi_simple_text_input_protocol 2018-09-23 21:55:29 +02:00
efi_selftest_controllers.c efi_selftest: fix typos 2018-12-02 21:59:36 +01:00
efi_selftest_crc32.c crc32: Use the crc.h header for crc functions 2019-12-02 18:23:08 -05:00
efi_selftest_devicepath_util.c efi_selftest: avoid double free in dp utilities test 2019-03-27 06:32:27 +01:00
efi_selftest_devicepath.c efi_loader: consistent naming of protocol GUIDs 2019-04-23 00:37:27 +02:00
efi_selftest_disk_image.h SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
efi_selftest_event_groups.c efi_selftest: correct event group test 2019-06-10 23:06:19 +02:00
efi_selftest_events.c efi_selftest: events unit test, check return values 2019-02-13 09:40:05 +01:00
efi_selftest_exception.c efi_selftest: use standalone UEFI program for exception 2019-08-29 05:54:26 +02:00
efi_selftest_exitbootservices.c efi_selftest: do not call CloseEvent() after ExitBootServices() 2019-07-16 22:17:15 +00:00
efi_selftest_fdt.c efi_selftest: do not run FDT test with ACPI table. 2019-04-23 00:37:28 +02:00
efi_selftest_gop.c efi_loader: QueryMode() must allocate buffer 2019-06-20 22:26:15 +00:00
efi_selftest_hii_data.c efi_selftest: add HII database protocols test 2019-02-13 09:40:06 +01:00
efi_selftest_hii.c efi_selftest: fix test_hii_string_get_string() 2019-03-20 18:16:53 +01:00
efi_selftest_load_initrd.c efi_selftest: add selftests for loadfile2 used to load initramfs 2020-02-28 19:37:14 +01:00
efi_selftest_loaded_image.c efi_selftest: remove redundant function efi_st_memcmp() 2019-05-07 21:10:04 +02:00
efi_selftest_loadimage.c efi_selftest: remove redundant function efi_st_memcmp() 2019-05-07 21:10:04 +02:00
efi_selftest_manageprotocols.c efi_selftest: remove redundant function efi_st_memcmp() 2019-05-07 21:10:04 +02:00
efi_selftest_memory.c efi_selftest: remove redundant function efi_st_memcmp() 2019-05-07 21:10:04 +02:00
efi_selftest_miniapp_exception.c efi_selftest: use standalone UEFI program for exception 2019-08-29 05:54:26 +02:00
efi_selftest_miniapp_exit.c efi_selftest: test exit_data 2019-05-02 18:17:50 +02:00
efi_selftest_miniapp_return.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
efi_selftest_open_protocol.c efi_selftest: unit test for OpenProtocolInformation() 2019-06-01 22:40:24 +02:00
efi_selftest_register_notify.c efi_loader: correct notification of protocol installation 2019-05-31 23:27:11 +02:00
efi_selftest_rng.c efi_selftest: unit test for EFI_RNG_PROTOCOL 2020-01-07 18:08:22 +01:00
efi_selftest_rtc.c efi_loader: Kconfig entries for GetTime(), SetTime() 2019-06-01 04:53:13 +02:00
efi_selftest_set_virtual_address_map.c efi_selftest: sharpen ConvertPointer() test 2019-07-30 21:36:22 +02:00
efi_selftest_snp.c efi_loader: fix status management in network stack 2019-09-05 23:18:51 +02:00
efi_selftest_startimage_exit.c efi_selftest: remove redundant function efi_st_memcmp() 2019-05-07 21:10:04 +02:00
efi_selftest_startimage_return.c efi_selftest: do not use efi_free_pool() 2019-02-16 15:42:19 +01:00
efi_selftest_textinput.c efi_selftest: fix typos 2018-12-02 21:59:36 +01:00
efi_selftest_textinputex.c efi_selftest: missing braces in efi_selftest_textinputex.c 2018-09-23 21:55:30 +02:00
efi_selftest_textoutput.c efi_selftest: updating the cursor position 2018-06-03 15:27:20 +02:00
efi_selftest_tpl.c efi_selftest: tpl unit test, check return values 2019-02-13 09:40:05 +01:00
efi_selftest_unaligned.c SPDX: Fixup tags from latest EFI PR 2018-06-03 16:10:22 -04:00
efi_selftest_unicode_collation.c efi_loader: do not use unsupported printf code 2018-12-02 21:59:37 +01:00
efi_selftest_util.c efi_selftest: remove redundant function efi_st_memcmp() 2019-05-07 21:10:04 +02:00
efi_selftest_variables_runtime.c efi_selftest: test variable services at runtime 2019-07-06 21:25:32 +02:00
efi_selftest_variables.c efi_selftest: testing read-only variables 2019-10-06 16:02:37 +02:00
efi_selftest_watchdog.c efi_selftest: fix typos 2018-12-02 21:59:36 +01:00
efi_selftest.c efi_selftest: rename setup_ok 2018-12-02 21:59:37 +01:00
Kconfig efi_selftest: enable CONFIG_CMD_POWEROFF 2020-01-15 00:51:51 +01:00
Makefile efi_selftest: add selftests for loadfile2 used to load initramfs 2020-02-28 19:37:14 +01:00