puzzleos / stubby

UEFI bootloader stub
GNU Lesser General Public License v2.1
12 stars 8 forks source link

Automated test #13

Closed smoser closed 1 year ago

smoser commented 2 years ago

We would like to have some way to provide automated "integration" test inside the stubby tree. I added some unit-test like functionality, but actually booting a UEFI system with a signed kernel.efi is ultimately what we need to test.

Goals

Implementation suggestion

smoser commented 2 years ago

Here is an initial test matrix.

builtin secureboot provided behavior message notes
empty true empty boot cmdline: empty empty cmdline is fine
empty false empty boot cmdline: empty empty cmdline is fine
empty true key=val FAIL token not allowed illegal token in SB
empty false key=val boot WW cmdline: key=val illegal token is allowed in ISB
empty true root=atomix boot cmdline: root=atomix legal token in SB
empty false root=atomix boot cmdline: root=atomix legal token is in ISB
empty true root=atomix verbose boot cmdline: root=atomix verbose two legal tokens SB
empty false root=atomix verbose boot cmdline: root=atomix verbose two legal tokens ISB
empty true root=atomix verbose bad FAIL token not allowed two legal one illegal SB
empty false root=atomix verbose bad boot WW cmdline: root=atomix verbose bad two legal, one illegal ISB
key=val true none boot cmdline: key=val illegal token builtin SB
key=val false none boot cmdline: key=val illegal token builtin ISB
root=atomix true key=val FAIL Custom kernel command line rejected illegal token SB
root=atomix false key=val boot WW cmdline: key=val illegal token ISB
root=atomix true verbose FAIL Custom kernel command line rejected override SB
root=atomix false verbose boot WW cmdline: verbose override ISB
berlin4apk commented 2 years ago

Can we please also add a CI test for PXE boot?

smoser commented 2 years ago

I'm working on this and it is close to complete (sorry, no PXE boot). Its on my feature/c-i-boot-test branch.

smoser commented 1 year ago

Marking this as fixed in #21.