Testing in LAVA
Test layout
Testing firmware is quite complex and requires both testing from the firmware itself as well as running an OS.
The graph below briefly tries to explain the tests that need to run under an OS (LRP) and the firmware (TrustedSubstrate)
Testing capabilities
The diagram below explains the valid test combinations (and not what’s currently implemented)
✅ Doable
❌ Not doable
🔄 Work in progress upstream to enable the feature is required
❓Needs more investigation
| QEMU | DeveloperBox | stm32mp1 | Rockpi4 | DeveloperBox (EDK2) |
xtests | ✅ | ✅ | ✅ | ✅ | ✅ |
UEFI measured boot | ✅ | ✅ | ❌ | ✅ | ✅ |
UEFI Secure Boot | ✅ | ✅ | ✅ | ✅ | ✅ |
A/B updates | ❌ | 🔄 | 🔄 | ❌ | ❌ |
PARSEC | ❓ | ❓ | ❓ | ❓ | ✅ |
RPMB variables | ❌
| ✅ | ❌
| ✅ | ✅ |
TPM | ✅ | ✅ | ❌ | ✅ | ✅ |
Capsule updates | ❌ | ✅ | ✅ | ✅ | ✅ |
SR-IR | ✅ | ✅ | 🔄 | ✅ | ✅ |
SR-IR security extension | ✅ | ✅ | ❌ | ✅ | ✅ |
OS installer | ✅ | ✅ | ❌ | ✅ | ✅ |