mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-28 15:41:40 +00:00
binman: Allow faked blobs in blob-ext-list
Since this is a list of blobs, each blob should have the ability to be faked, as with blob-ext. Update the Entry base class to set allow_fake and use the base class in the section code also, so that this propagagtes to blob-ext-list, which is not a section. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
2cc8c1fba6
commit
f4590e02c1
5 changed files with 25 additions and 1 deletions
|
@ -960,7 +960,7 @@ features to produce new behaviours.
|
|||
Args:
|
||||
allow_fake: True if allowed, False if not allowed
|
||||
"""
|
||||
pass
|
||||
self.allow_fake = allow_fake
|
||||
|
||||
def CheckMissing(self, missing_list):
|
||||
"""Check if any entries in this section have missing external blobs
|
||||
|
|
|
@ -37,6 +37,7 @@ class Entry_blob_ext_list(Entry_blob):
|
|||
missing = False
|
||||
pathnames = []
|
||||
for fname in self._filenames:
|
||||
fname = self.check_fake_fname(fname)
|
||||
pathname = tools.GetInputFilename(
|
||||
fname, self.external and self.section.GetAllowMissing())
|
||||
# Allow the file to be missing
|
||||
|
|
|
@ -805,6 +805,7 @@ class Entry_section(Entry):
|
|||
Args:
|
||||
allow_fake_blob: True if allowed, False if not allowed
|
||||
"""
|
||||
super().SetAllowFakeBlob(allow_fake)
|
||||
for entry in self._entries.values():
|
||||
entry.SetAllowFakeBlob(allow_fake)
|
||||
|
||||
|
|
|
@ -4982,6 +4982,14 @@ fdt fdtmap Extract the devicetree blob from the fdtmap
|
|||
err,
|
||||
"Image '.*' has faked external blobs and is non-functional: .*")
|
||||
|
||||
def testExtblobListFaked(self):
|
||||
"""Test an extblob with missing external blob that are faked"""
|
||||
with test_util.capture_sys_output() as (stdout, stderr):
|
||||
self._DoTestFile('216_blob_ext_list_missing.dts',
|
||||
allow_fake_blobs=True)
|
||||
err = stderr.getvalue()
|
||||
self.assertRegex(err, "Image 'main-section'.*faked.*: blob-ext-list")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
14
tools/binman/test/218_blob_ext_list_fake.dts
Normal file
14
tools/binman/test/218_blob_ext_list_fake.dts
Normal file
|
@ -0,0 +1,14 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
binman {
|
||||
blob-ext-list {
|
||||
filenames = "refcode.bin", "fake-file";
|
||||
};
|
||||
};
|
||||
};
|
Loading…
Reference in a new issue