[PATCH v2 04/38] binman: Expand the external FIT test a little
Simon Glass
sjg at chromium.org
Mon Jan 10 04:13:39 CET 2022
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 at chromium.org>
---
(no changes since v1)
tools/binman/ftest.py | 17 +++++++++++++++++
tools/binman/test/162_fit_external.dts | 2 +-
2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
index a9d9160967c..f44128de6f3 100644
--- a/tools/binman/ftest.py
+++ b/tools/binman/ftest.py
@@ -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"""
diff --git a/tools/binman/test/162_fit_external.dts b/tools/binman/test/162_fit_external.dts
index 19518e05a58..6f2a629a985 100644
--- a/tools/binman/test/162_fit_external.dts
+++ b/tools/binman/test/162_fit_external.dts
@@ -10,7 +10,7 @@
u-boot {
};
fit {
- fit,external-offset = <0>;
+ fit,external-offset = <0x400>;
description = "test-desc";
#address-cells = <1>;
--
2.34.1.575.g55b058a8bb-goog
More information about the U-Boot
mailing list