
Hi Simon,
On 8/18/22 10:17, Simon Glass wrote:
Hi Quentin,
On Wed, 3 Aug 2022 at 06:19, Quentin Schulz foss+uboot@0leil.net wrote:
From: Quentin Schulz quentin.schulz@theobroma-systems.com
Some image types handled by mkimage require the datafiles to be passed independently (-d data1:data2) for specific handling of each. A concatenation of datafiles prior to passing them to mkimage wouldn't work.
That is the case for rkspi for example which requires page alignment and only writing 2KB every 4KB.
This adds the ability to tell binman to pass the datafiles without prior concatenation to mkimage, by adding the multiple-data-files boolean property to the mkimage node.
Cc: Quentin Schulz foss+uboot@0leil.net Reviewed-by: Simon Glass sjg@chromium.org Signed-off-by: Quentin Schulz quentin.schulz@theobroma-systems.com
tools/binman/entries.rst | 22 +++++++++++++++++++ tools/binman/etype/mkimage.py | 41 +++++++++++++++++++++++++++++++---- 2 files changed, 59 insertions(+), 4 deletions(-)
Somehow I missed this one, sorry.
It needs a test (try 'binman test -T' to see that it breaks code coverage).
How do you see this test being implemented?
I think it'd be best to mock calls to mkimage (or self.mkimage.run_cmd()) and check that the -d parameter has two entries separated by a colon but my limited knowledge of unittest.mock does not seem to guide me to the proper implementation.
Another way would be to use a specific mkimage type that handles that kind of multiple files -d parameter and outputs something more or less reproducible, e.g. rkspi type. I don't like this too much even though it's much easier because we're bound to this type and the image type could change (I recall some endianness fixes a few months ago).
Cheers, Quentin