mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
binman: Show an error when a file is missing
The recent support for missing external binaries does not show an error message when a file is genuinely missing (i.e. it is missing but not marked as 'external'). This means that when -m is passed to binman, it will never report a missing file. Fix this and add a test. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This commit is contained in:
parent
2463f165a3
commit
204aa78e04
3 changed files with 24 additions and 2 deletions
|
@ -38,12 +38,13 @@ class Entry_blob(Entry):
|
|||
def ObtainContents(self):
|
||||
self._filename = self.GetDefaultFilename()
|
||||
self._pathname = tools.GetInputFilename(self._filename,
|
||||
self.section.GetAllowMissing())
|
||||
self.external and self.section.GetAllowMissing())
|
||||
# Allow the file to be missing
|
||||
if self.external and not self._pathname:
|
||||
if not self._pathname:
|
||||
self.SetContents(b'')
|
||||
self.missing = True
|
||||
return True
|
||||
|
||||
self.ReadBlobContents()
|
||||
return True
|
||||
|
||||
|
|
|
@ -3708,5 +3708,12 @@ class TestFunctional(unittest.TestCase):
|
|||
self.assertIn('Wibble test', err)
|
||||
self.assertIn('Another test', err)
|
||||
|
||||
def testMissingBlob(self):
|
||||
"""Test handling of a blob containing a missing file"""
|
||||
with self.assertRaises(ValueError) as e:
|
||||
self._DoTestFile('173_missing_blob.dts', allow_missing=True)
|
||||
self.assertIn("Filename 'missing' not found in input path",
|
||||
str(e.exception))
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
14
tools/binman/test/173_missing_blob.dts
Normal file
14
tools/binman/test/173_missing_blob.dts
Normal file
|
@ -0,0 +1,14 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
binman {
|
||||
blob {
|
||||
filename = "missing";
|
||||
};
|
||||
};
|
||||
};
|
Loading…
Reference in a new issue