Message ID | 20240902011825.746421-1-sjg@chromium.org |
---|---|
Headers | show |
Series | efi: Add a test for EFI bootmeth | expand |
Hi, On Sun, 1 Sept 2024 at 19:18, Simon Glass <sjg@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: > > - ANSI output from the EFI loader confusing the unit-testing checker > - Hang in sandbox virtio due to EFI probing all block devices > > Other necessary fixes have been split out into two other series. > > Changes in v5: > - Drop Fixes tag > - Drop the Fixes tag > - Rebase on updated efif series > - Deal with sandbox CONFIG_LOGF_FUNC > > Changes in v4: > - Add efi_loader tag to some patches > - Split out non-EFI patches into a different series > > Changes in v3: > - Drop the extra- rules since scripts/Makefile.lib takes care of it > - Add new patch to drop crt0/relocal extra- rules > - Put back the Linaro copyright accidentally removed > - Add a Fixes tag > - Mention the issue created for this problem > > Changes in v2: > - Fix 'use' typo > - Reword commit message > - Use 'Firmware vendor' instead of just 'Vendor' > - Add many new patches to resolve all the outstanding test issues > > Simon Glass (14): > efi_loader: Use puts() in cout so that console recording works > efi_loader: Put back copyright message > efi_loader: Rename and move CMD_BOOTEFI_HELLO_COMPILE > efi: arm: x86: riscv: Drop crt0/relocal extra- rules > efi_loader: Shorten the app rules > efi_loader: Shorten the app rules further > efi_loader: Show the vendor in helloworld > efi: Use the same filename for all sandbox builds > bootstd: Add debugging for efi bootmeth > efi_loader: Disable ANSI output for tests > efi_loader: Add a test app > efi_loader: Avoid using sandbox virtio devices > test: efi: boot: Set up an image suitable for EFI testing > test: efi: boot: Add a test for the efi bootmeth > > arch/arm/lib/Makefile | 8 ---- > arch/riscv/lib/Makefile | 4 -- > arch/sandbox/dts/test.dts | 2 +- > arch/x86/lib/Makefile | 16 ------- > boot/bootmeth_efi.c | 11 ++++- > cmd/Kconfig | 14 +----- > configs/octeontx2_95xx_defconfig | 2 +- > configs/octeontx2_96xx_defconfig | 2 +- > configs/octeontx_81xx_defconfig | 2 +- > configs/octeontx_83xx_defconfig | 2 +- > doc/develop/uefi/uefi.rst | 2 +- > include/efi_default_filename.h | 24 +--------- > include/efi_loader.h | 21 ++++++++- > lib/efi_loader/Kconfig | 22 +++++++++ > lib/efi_loader/Makefile | 47 ++++++------------- > lib/efi_loader/efi_console.c | 28 ++++++++---- > lib/efi_loader/efi_disk.c | 14 +++++- > lib/efi_loader/helloworld.c | 6 +++ > lib/efi_loader/testapp.c | 68 ++++++++++++++++++++++++++++ > test/boot/bootdev.c | 18 +++++++- > test/boot/bootflow.c | 66 ++++++++++++++++++++++++++- > test/py/tests/bootstd/flash1.img.xz | Bin 0 -> 5016 bytes > test/py/tests/test_efi_fit.py | 2 +- > test/py/tests/test_efi_loader.py | 2 +- > test/py/tests/test_ut.py | 52 ++++++++++++++++++--- > 25 files changed, 310 insertions(+), 125 deletions(-) > create mode 100644 lib/efi_loader/testapp.c > create mode 100644 test/py/tests/bootstd/flash1.img.xz > > -- > 2.34.1 > ping on this series, please. Regards, SImon
Hi Simon, On Thu, 12 Sept 2024 at 04:01, Simon Glass <sjg@chromium.org> wrote: > > Hi, > > On Sun, 1 Sept 2024 at 19:18, Simon Glass <sjg@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: > > > > - ANSI output from the EFI loader confusing the unit-testing checker > > - Hang in sandbox virtio due to EFI probing all block devices > > > > Other necessary fixes have been split out into two other series. > > > > Changes in v5: > > - Drop Fixes tag > > - Drop the Fixes tag > > - Rebase on updated efif series > > - Deal with sandbox CONFIG_LOGF_FUNC > > > > Changes in v4: > > - Add efi_loader tag to some patches > > - Split out non-EFI patches into a different series > > > > Changes in v3: > > - Drop the extra- rules since scripts/Makefile.lib takes care of it > > - Add new patch to drop crt0/relocal extra- rules > > - Put back the Linaro copyright accidentally removed > > - Add a Fixes tag > > - Mention the issue created for this problem > > > > Changes in v2: > > - Fix 'use' typo > > - Reword commit message > > - Use 'Firmware vendor' instead of just 'Vendor' > > - Add many new patches to resolve all the outstanding test issues > > > > Simon Glass (14): > > efi_loader: Use puts() in cout so that console recording works > > efi_loader: Put back copyright message > > efi_loader: Rename and move CMD_BOOTEFI_HELLO_COMPILE > > efi: arm: x86: riscv: Drop crt0/relocal extra- rules > > efi_loader: Shorten the app rules > > efi_loader: Shorten the app rules further > > efi_loader: Show the vendor in helloworld > > efi: Use the same filename for all sandbox builds > > bootstd: Add debugging for efi bootmeth > > efi_loader: Disable ANSI output for tests > > efi_loader: Add a test app > > efi_loader: Avoid using sandbox virtio devices > > test: efi: boot: Set up an image suitable for EFI testing > > test: efi: boot: Add a test for the efi bootmeth > > > > arch/arm/lib/Makefile | 8 ---- > > arch/riscv/lib/Makefile | 4 -- > > arch/sandbox/dts/test.dts | 2 +- > > arch/x86/lib/Makefile | 16 ------- > > boot/bootmeth_efi.c | 11 ++++- > > cmd/Kconfig | 14 +----- > > configs/octeontx2_95xx_defconfig | 2 +- > > configs/octeontx2_96xx_defconfig | 2 +- > > configs/octeontx_81xx_defconfig | 2 +- > > configs/octeontx_83xx_defconfig | 2 +- > > doc/develop/uefi/uefi.rst | 2 +- > > include/efi_default_filename.h | 24 +--------- > > include/efi_loader.h | 21 ++++++++- > > lib/efi_loader/Kconfig | 22 +++++++++ > > lib/efi_loader/Makefile | 47 ++++++------------- > > lib/efi_loader/efi_console.c | 28 ++++++++---- > > lib/efi_loader/efi_disk.c | 14 +++++- > > lib/efi_loader/helloworld.c | 6 +++ > > lib/efi_loader/testapp.c | 68 ++++++++++++++++++++++++++++ > > test/boot/bootdev.c | 18 +++++++- > > test/boot/bootflow.c | 66 ++++++++++++++++++++++++++- > > test/py/tests/bootstd/flash1.img.xz | Bin 0 -> 5016 bytes > > test/py/tests/test_efi_fit.py | 2 +- > > test/py/tests/test_efi_loader.py | 2 +- > > test/py/tests/test_ut.py | 52 ++++++++++++++++++--- > > 25 files changed, 310 insertions(+), 125 deletions(-) > > create mode 100644 lib/efi_loader/testapp.c > > create mode 100644 test/py/tests/bootstd/flash1.img.xz > > > > -- > > 2.34.1 > > > > ping on this series, please. Most of the patches have been reviewed. There were questions and feedback on v4 that haven't changed on v5 AFAICT [0] [0] https://lore.kernel.org/u-boot/20240826181826.GI2479150@bill-the-cat/ Regards /Ilias > > Regards, > SImon
On 02.09.24 03:18, Simon Glass 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: > > - ANSI output from the EFI loader confusing the unit-testing checker > - Hang in sandbox virtio due to EFI probing all block devices > > Other necessary fixes have been split out into two other series. Hello Simon, Patches 1 and 2 are in my pull-request for the next branch. The rest needs to be rebased after considering the review comments. Best regards Heinrich
Hi Heinrich, On Fri, 13 Sept 2024 at 15:55, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: > > On 02.09.24 03:18, Simon Glass 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: > > > > - ANSI output from the EFI loader confusing the unit-testing checker > > - Hang in sandbox virtio due to EFI probing all block devices > > > > Other necessary fixes have been split out into two other series. > > Hello Simon, > > Patches 1 and 2 are in my pull-request for the next branch. > > The rest needs to be rebased after considering the review comments. OK thanks, I will give it another pass. Regards, Simon