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:
Simon Glass
2020-09-06 10:35:32 -06:00
committed by Bin Meng
parent 2463f165a3
commit 204aa78e04
3 changed files with 24 additions and 2 deletions

View File

@@ -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()