On Thu, Nov 27, 2025 at 07:04:06PM +0100, Jérémie Dautheribes wrote: > Hi Tom, > > On 09/09/2025 19:03, Tom Rini wrote: > > On Wed, Aug 20, 2025 at 05:06:54PM +0200, Jérémie Dautheribes wrote: > > > > > When using binman with the '-a spl-dtb=y' flag, if the SPL blob is not > > > found, binman throws a cryptic error message: > > > binman: 'NoneType' object has no attribute 'startswith' > > > > > > Let's improve the error message to explicitly state which SPL blob is > > > missing. > > > This is particularly useful when binman is used as a standalone tool > > > outside the U-Boot source tree. > > > > > > Signed-off-by: Jérémie Dautheribes <[email protected]> > > > --- > > > tools/binman/etype/blob_dtb.py | 5 +++++ > > > 1 file changed, 5 insertions(+) > > > > > > diff --git a/tools/binman/etype/blob_dtb.py > > > b/tools/binman/etype/blob_dtb.py > > > index b234323d7cf..772579394d4 100644 > > > --- a/tools/binman/etype/blob_dtb.py > > > +++ b/tools/binman/etype/blob_dtb.py > > > @@ -8,6 +8,8 @@ > > > from binman.entry import Entry > > > from binman.etype.blob import Entry_blob > > > from dtoc import fdt_util > > > +import errno > > > +import os > > > import struct > > > # This is imported if needed > > > @@ -42,6 +44,9 @@ class Entry_blob_dtb(Entry_blob): > > > """Get the device-tree from the list held by the 'state' > > > module""" > > > self._filename = self.GetDefaultFilename() > > > self._pathname, _ = self.FdtContents(self.GetFdtEtype()) > > > + if self._pathname is None: > > > + raise FileNotFoundError(errno.ENOENT, > > > + os.strerror(errno.ENOENT), > > > self._filename) > > > return super().ReadBlobContents() > > > def ProcessContents(self): > > > > Sorry for the delay in review. We also need to update the function > > comment so that python coverage remains at 100%. > > Sorry but I'm really not familiar with python coverage. I had a look to the > official documentation and it looks like I need to add a test to cover this > specific function. That is what you are requesting?
So, doc/develop/binman_tests.rst talks a bit about testing of binman and python coverage. In this case I believe the issue is that the function you're modifying needs to have the comment block annotations updated to include the exception it can throw. -- Tom
signature.asc
Description: PGP signature

