1
0
mirror of https://xff.cz/git/u-boot/ synced 2025-09-02 01:02:19 +02:00

binman: Support locating an image header

Add support for locating an image header in an image.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2019-07-08 14:25:45 -06:00
parent e1925fa520
commit 2d26003df7
2 changed files with 50 additions and 0 deletions

View File

@@ -25,6 +25,7 @@ import control
import elf
import fdt
from etype import fdtmap
from etype import image_header
import fdt_util
import fmap_util
import test_util
@@ -2282,6 +2283,32 @@ class TestFunctional(unittest.TestCase):
data = self._DoReadFile('005_simple.dts')
self.assertEqual(None, fdtmap.LocateFdtmap(data))
def testFindImageHeader(self):
"""Test locating a image header"""
self._CheckLz4()
data = self._DoReadFileDtb('128_decode_image.dts', use_real_dtb=True,
update_dtb=True)[0]
image = control.images['image']
entries = image.GetEntries()
entry = entries['fdtmap']
# The header should point to the FDT map
self.assertEqual(entry.image_pos, image_header.LocateHeaderOffset(data))
def testFindImageHeaderStart(self):
"""Test locating a image header located at the start of an image"""
data = self._DoReadFileDtb('117_fdtmap_hdr_start.dts',
use_real_dtb=True, update_dtb=True)[0]
image = control.images['image']
entries = image.GetEntries()
entry = entries['fdtmap']
# The header should point to the FDT map
self.assertEqual(entry.image_pos, image_header.LocateHeaderOffset(data))
def testFindImageHeaderMissing(self):
"""Test failing to locate an image header"""
data = self._DoReadFile('005_simple.dts')
self.assertEqual(None, image_header.LocateHeaderOffset(data))
if __name__ == "__main__":
unittest.main()