
The test coverage for the EFI bootmeth is incomplete since it does not actually boot the application.
This series creates a simple test for this purpose. It includes a few patches to make this work:
- Revert of an unreviewed patch to change the sandbox efi filename - Hang in sandbox virtio due to EFI probing all block devices
Other necessary fixes have already been applied.
Changes in v10: - Drop call to exit-boot-services
Changes in v9: - Update license - Fix 'sevices' typo - Move the function into efi_helper.c - Split out into a separate change - Split out into its own patch - Separate into separate patches - Add new patch to drop sandbox PXE architecture - Mark the image as complete after writing it - Fix 'sevices' typo
Changes in v8: - Add new patch to control on-host behaviour - Add new patch to move default filename to a function - Add new patch to report host default-filename in native mode - Add new patch to report host default-filename in native mode
Changes in v7: - Update commit message - Drop patches already applied - Drop patch 'Disable ANSI output for tests' - Rebase on -master
Changes in v6: - Drop the patch to disable sandbox virtio blk with EFI - Add new patch to disable the sandbox virtio blk device - Deal with sandbox CONFIG_LOGF_FUNC - Rebase on -next - Drop patches previously applied - Drop mention of helloworld since it is no-longer used by this test
Changes in v4: - Add efi_loader tag to some patches - Split out non-EFI patches into a different series
Changes in v2: - Add many new patches to resolve all the outstanding test issues
Simon Glass (11): test: boot: Update bootflow_iter() for console checking efi_loader: Add a test app sandbox: Add a -N flag to control on-host behaviour efi: Move default filename to a function efi_loader: Move get_efi_pxe_arch() to efi_helper efi_loader: Allow reporting the host defaults sandbox: Report host default-filename in native mode efi_loader: Drop sandbox PXE architecture sandbox: virtio: Disable the sandbox virtio blk device test: efi: boot: Set up an image suitable for EFI testing test: efi: boot: Add a test for the efi bootmeth
arch/Kconfig | 3 +- arch/sandbox/cpu/start.c | 10 ++++ arch/sandbox/dts/test.dts | 2 +- arch/sandbox/include/asm/state.h | 1 + boot/bootmeth_efi.c | 29 ++---------- cmd/efidebug.c | 25 ++++++++++ include/efi.h | 34 +++++++++++++ include/efi_default_filename.h | 56 ---------------------- lib/efi_loader/Kconfig | 10 ++++ lib/efi_loader/Makefile | 1 + lib/efi_loader/efi_bootmgr.c | 10 ++-- lib/efi_loader/efi_helper.c | 71 ++++++++++++++++++++++++++++ lib/efi_loader/testapp.c | 64 +++++++++++++++++++++++++ test/boot/bootdev.c | 18 ++++++- test/boot/bootflow.c | 67 ++++++++++++++++++++++++-- test/py/tests/bootstd/flash1.img.xz | Bin 0 -> 4924 bytes test/py/tests/test_ut.py | 53 ++++++++++++++++++--- 17 files changed, 356 insertions(+), 98 deletions(-) delete mode 100644 include/efi_default_filename.h create mode 100644 lib/efi_loader/testapp.c create mode 100644 test/py/tests/bootstd/flash1.img.xz