Skip to content

setup-and-boot-menus: Mount a bootable drive instead of UEFI shell #859

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 18, 2025

Conversation

philipanda
Copy link
Contributor

Fixes the test always FAILing because UEFI Shell is no longer distributed with Dasharo
setup-and-boot-menus_log.zip

@philipanda philipanda requested a review from macpijan June 4, 2025 10:04
@philipanda philipanda marked this pull request as ready for review June 4, 2025 10:05
Copy link
Contributor

@macpijan macpijan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Modified test case fails in this pipeline:

Parse One Time Boot Menu :: Test entering into User Password Manag... | FAIL |
[ No bootable media found ] does not contain value 'QEMU QEMU USB HARDDRIVE'.

If it depends on some external PR, please reference it.

@philipanda
Copy link
Contributor Author

philipanda commented Jun 6, 2025

Modified test case fails in this pipeline:

Parse One Time Boot Menu :: Test entering into User Password Manag... | FAIL |
[ No bootable media found ] does not contain value 'QEMU QEMU USB HARDDRIVE'.

If it depends on some external PR, please reference it.

It requires osfv-test-data to be initialized. Have you run osfv-test-data/setup.sh? The image osfv-test-data/dts/dts-base-image-v2.1.3.wic is used here and without initializing the osfv-test-data the file does not exist as it needs to be extracted from osfv-test-data/dts/dts-base-image-v2.1.3.wic.gz

* edit
Oh, you meant the pipeline, right. It might be that the osfv-test-data is not initialized and so the bootable image is not available. I'll check that

@macpijan
Copy link
Contributor

macpijan commented Jun 6, 2025

Yes, I mean pipeline, I do not run anything myself here.

I just want to ensure that we do not accustomed to merging PRs with CI checks failing. I have already enabled the requirements for the CI to pass prior merging. So we need to (preferably) either fix it or disable this failing case until resolved.

@philipanda philipanda force-pushed the self-tests-remove-uefi-shell-dependency branch 18 times, most recently from b679186 to 1017c8a Compare June 6, 2025 16:35
@philipanda
Copy link
Contributor Author

@macpijan
The test now passes after correctly setting up osfv-test-data.

The actions/checkout@v2 does not initialize osfv-test-data correctly, even with submodules: recursive. Instead git submodule update --init --checkout --recursive had to be run manually in a separate job.

Additionally a user.email and user.name needs to be set up in order to use git annex pull, and -e bash flag has to be unset using set +e to allow git annex pull to fail. That's because one of the files in osfv-test-data is broken right now Dasharo/osfv-test-data#11. Other files will be downloaded just fine despite that one failing.

Not every test case had been run by the time I'm writing this. Especially the Get Menu Construction Stress Test will take a very very long time .

@philipanda
Copy link
Contributor Author

philipanda commented Jun 9, 2025

Only Parse Power Management Options tests fails, but it passes locally
dasharo-system-features-menus_log.zip

@philipanda
Copy link
Contributor Author

philipanda commented Jun 9, 2025

@macpijan I am a bit troubled with the results of CI.
The CPU Throttling option really is missing from the Power Management Options menu, and so the fail is expected.
I've tested it manually on release v0.2.0 and v0.2.1.
image

What's worse is that some PRs, the newest one being #842, actually have this test PASS. It's like the option appears and disappears randomly on both v0.2.0 and v0.2.1 release for QEMU.
I can't confirm that, because I am yet to experience the option actually appearing in the menu.

@philipanda
Copy link
Contributor Author

philipanda commented Jun 13, 2025

That's the first Action to fail because of missing UEFI Shell https://github.com/Dasharo/open-source-firmware-validation/actions/runs/15215838318. That also is the first Action to fail because of the missing CPU throttling option too. Everything seems to indicate that it's the v0.2.1 release that removed the throttling option as well as UEFI shell, but nothing like that changed in the configs, and when booting v0.2.0 manually I can't see the option too.

@philipanda
Copy link
Contributor Author

philipanda commented Jun 17, 2025

@macpijan I've been searching through the changes since v0.2.0 and it seems that the throttling menu options were reworked by @miczyg1 about a year ago. This commit made the cPU throttling disabled by default, and QEMU was never actually explicitly adding it in its coreboot configs. Due to this change the option has been removed from the Setup menu.

By adding a config option the entry in the menu can be restored, but the menu has changed. It now shows two lines, one of which is readonly. The test has to be modified anyway.

@philipanda philipanda force-pushed the self-tests-remove-uefi-shell-dependency branch from 057a7f3 to 4735c10 Compare June 17, 2025 13:34
@philipanda
Copy link
Contributor Author

The reworked Power Management menu is too big to fit on one screen. I've tried implementing parsing multiscreen menus, but that seems a little too complex for now, so I've just skipped the last line check for this one menu.

@philipanda philipanda force-pushed the self-tests-remove-uefi-shell-dependency branch from 4735c10 to 4206d41 Compare June 18, 2025 06:01
@macpijan macpijan force-pushed the self-tests-remove-uefi-shell-dependency branch from 4206d41 to 2d1f094 Compare June 18, 2025 13:54
@macpijan macpijan merged commit 2d1f094 into develop Jun 18, 2025
@macpijan macpijan deleted the self-tests-remove-uefi-shell-dependency branch June 18, 2025 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants