]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
binman: Expand the external FIT test a little
authorSimon Glass <sjg@chromium.org>
Mon, 10 Jan 2022 03:13:39 +0000 (20:13 -0700)
committerSimon Glass <sjg@chromium.org>
Tue, 25 Jan 2022 19:36:10 +0000 (12:36 -0700)
At present this does not check that the external data is in the expected
place. Use a non-zero offset for the external data and check it.

Signed-off-by: Simon Glass <sjg@chromium.org>
tools/binman/ftest.py
tools/binman/test/162_fit_external.dts

index f4ff7b65831a99a902245f4dbfb6e8a2a4b60f36..6a7647311ba37818955d5899dcbb3be691a8d717 100644 (file)
@@ -3713,11 +3713,28 @@ class TestFunctional(unittest.TestCase):
         data = self._DoReadFile('162_fit_external.dts')
         fit_data = data[len(U_BOOT_DATA):-2]  # _testing is 2 bytes
 
+        # Size of the external-data region as set up by mkimage
+        external_data_size = len(U_BOOT_DATA) + 2
+        expected_size = (len(U_BOOT_DATA) + 0x400 +
+                         tools.Align(external_data_size, 4) +
+                         len(U_BOOT_NODTB_DATA))
+
         # The data should be outside the FIT
         dtb = fdt.Fdt.FromData(fit_data)
         dtb.Scan()
         fnode = dtb.GetNode('/images/kernel')
         self.assertNotIn('data', fnode.props)
+        self.assertEqual(len(U_BOOT_DATA),
+                         fdt_util.fdt32_to_cpu(fnode.props['data-size'].value))
+        fit_pos = 0x400;
+        self.assertEqual(
+            fit_pos,
+            fdt_util.fdt32_to_cpu(fnode.props['data-position'].value))
+
+        self.assertEquals(expected_size, len(data))
+        actual_pos = len(U_BOOT_DATA) + fit_pos
+        self.assertEqual(U_BOOT_DATA + b'aa',
+                         data[actual_pos:actual_pos + external_data_size])
 
     def testSectionIgnoreHashSignature(self):
         """Test that sections ignore hash, signature nodes for its data"""
index 19518e05a582f3c63905d60d97973ca19627451c..6f2a629a985bf0ab71ee1dd11c4cd49396d5ee9b 100644 (file)
@@ -10,7 +10,7 @@
                u-boot {
                };
                fit {
-                       fit,external-offset = <0>;
+                       fit,external-offset = <0x400>;
                        description = "test-desc";
                        #address-cells = <1>;