On 11/1/24 16:32, Simon Glass wrote:
Hi all,

On Fri, 1 Nov 2024 at 16:26, Simon Glass <s...@chromium.org> wrote:

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

I hope this series can meet with approval and go in. I know it isn't
perfect, but we can then work on things from there. The first thing is
to drop the various .xz files, which I'll look at once this lands.

Regards,
Simon

I tried to apply the series. But it fails in the CI.

https://source.denx.de/u-boot/custodians/u-boot-efi/-/jobs/941546

Best regards

Heinrich


Reply via email to