binman: test: assert optional blobs don't cause non-functionality

When external blobs are marked optional, they should not cause a
build to fail. Extend the test cases for FitTeeOsOptional and
ExtblobOptional.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Yannic Moog <y.moog@phytec.de>
Reviewed-by: Bryan Brattlof <bb@ti.com>
This commit is contained in:
Yannic Moog 2025-06-13 14:02:45 +02:00 committed by Tom Rini
parent e749d64b46
commit 0dbb0a8d1f

View File

@ -6518,6 +6518,9 @@ fdt fdtmap Extract the devicetree blob from the fdtmap
self.assertRegex(
err,
"Image '.*' is missing optional external blobs but is still functional: tee-os")
self.assertNotRegex(
err,
"Image '.*' has faked external blobs and is non-functional: tee-os")
def testFitTeeOsOptionalFitBad(self):
"""Test an image with a FIT with an optional OP-TEE binary"""
@ -6551,6 +6554,19 @@ fdt fdtmap Extract the devicetree blob from the fdtmap
self.assertEqual(REFCODE_DATA, data)
self.assertNotIn(MISSING_DATA, data)
def testExtblobFakedOptional(self):
"""Test an image with an external blob that is optional"""
with terminal.capture() as (stdout, stderr):
data = self._DoReadFile('266_blob_ext_opt.dts')
self.assertEqual(REFCODE_DATA, data)
err = stderr.getvalue()
self.assertRegex(
err,
"Image '.*' is missing optional external blobs but is still functional: missing")
self.assertNotRegex(
err,
"Image '.*' has faked external blobs and is non-functional: missing")
def testSectionInner(self):
"""Test an inner section with a size"""
data = self._DoReadFile('267_section_inner.dts')