binman: Fix IFWI output when using an Intel FIT image
authorSimon Glass <sjg@chromium.org>
Sat, 24 Aug 2019 13:22:51 +0000 (07:22 -0600)
committerSimon Glass <sjg@chromium.org>
Tue, 15 Oct 2019 14:40:02 +0000 (08:40 -0600)
At present this entry does not work correctly when a FIT image is used as
the input. It updates the FIT instead of the output image. The test passed
because the FIT image happened to have the right data already.

Fix it.

Signed-off-by: Simon Glass <sjg@chromium.org>
tools/binman/etype/intel_ifwi.py
tools/binman/ftest.py

index f3745f7..e4da3e4 100644 (file)
@@ -75,10 +75,10 @@ class Entry_intel_ifwi(Entry_blob):
             self._pathname = outname
         else:
             # Provide a different code path here to ensure we have test coverage
-            inname = self._pathname
+            outname = self._pathname
 
         # Delete OBBP if it is there, then add the required new items.
-        tools.RunIfwiTool(inname, tools.CMD_DELETE, subpart='OBBP')
+        tools.RunIfwiTool(outname, tools.CMD_DELETE, subpart='OBBP')
 
         for entry in self._ifwi_entries.values():
             # First get the input data and put it in a file
@@ -89,7 +89,7 @@ class Entry_intel_ifwi(Entry_blob):
             input_fname = tools.GetOutputFilename('input.%s' % uniq)
             tools.WriteFile(input_fname, data)
 
-            tools.RunIfwiTool(inname,
+            tools.RunIfwiTool(outname,
                 tools.CMD_REPLACE if entry._ifwi_replace else tools.CMD_ADD,
                 input_fname, entry._ifwi_subpart, entry._ifwi_entry_name)
 
index 080599f..bba07e7 100644 (file)
@@ -2044,7 +2044,7 @@ class TestFunctional(unittest.TestCase):
                           subpart='IBBP', entry_name='IBBL')
 
         tpl_data = tools.ReadFile(tpl_fname)
-        self.assertEqual(tpl_data[:len(U_BOOT_TPL_DATA)], U_BOOT_TPL_DATA)
+        self.assertEqual(U_BOOT_TPL_DATA, tpl_data[:len(U_BOOT_TPL_DATA)])
 
     def testPackX86RomIfwi(self):
         """Test that an x86 ROM with Integrated Firmware Image can be created"""