binman: Update testPackExtra with more checks
Check the contents of each section to make sure it is actually in the right place. Also fix a whitespace error in the .dts file. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
9248c8d9c9
commit
ef439ed191
@ -785,9 +785,8 @@ class TestFunctional(unittest.TestCase):
|
||||
|
||||
def testPackExtra(self):
|
||||
"""Test that extra packing feature works as expected"""
|
||||
retcode = self._DoTestFile('009_pack_extra.dts')
|
||||
data = self._DoReadFile('009_pack_extra.dts')
|
||||
|
||||
self.assertEqual(0, retcode)
|
||||
self.assertIn('image', control.images)
|
||||
image = control.images['image']
|
||||
entries = image.GetEntries()
|
||||
@ -799,30 +798,48 @@ class TestFunctional(unittest.TestCase):
|
||||
self.assertEqual(0, entry.offset)
|
||||
self.assertEqual(3, entry.pad_before)
|
||||
self.assertEqual(3 + 5 + len(U_BOOT_DATA), entry.size)
|
||||
self.assertEqual(U_BOOT_DATA, entry.data)
|
||||
self.assertEqual(tools.GetBytes(0, 3) + U_BOOT_DATA +
|
||||
tools.GetBytes(0, 5), data[:entry.size])
|
||||
pos = entry.size
|
||||
|
||||
# Second u-boot has an aligned size, but it has no effect
|
||||
self.assertIn('u-boot-align-size-nop', entries)
|
||||
entry = entries['u-boot-align-size-nop']
|
||||
self.assertEqual(12, entry.offset)
|
||||
self.assertEqual(4, entry.size)
|
||||
self.assertEqual(pos, entry.offset)
|
||||
self.assertEqual(len(U_BOOT_DATA), entry.size)
|
||||
self.assertEqual(U_BOOT_DATA, entry.data)
|
||||
self.assertEqual(U_BOOT_DATA, data[pos:pos + entry.size])
|
||||
pos += entry.size
|
||||
|
||||
# Third u-boot has an aligned size too
|
||||
self.assertIn('u-boot-align-size', entries)
|
||||
entry = entries['u-boot-align-size']
|
||||
self.assertEqual(16, entry.offset)
|
||||
self.assertEqual(pos, entry.offset)
|
||||
self.assertEqual(32, entry.size)
|
||||
self.assertEqual(U_BOOT_DATA, entry.data)
|
||||
self.assertEqual(U_BOOT_DATA + tools.GetBytes(0, 32 - len(U_BOOT_DATA)),
|
||||
data[pos:pos + entry.size])
|
||||
pos += entry.size
|
||||
|
||||
# Fourth u-boot has an aligned end
|
||||
self.assertIn('u-boot-align-end', entries)
|
||||
entry = entries['u-boot-align-end']
|
||||
self.assertEqual(48, entry.offset)
|
||||
self.assertEqual(16, entry.size)
|
||||
self.assertEqual(U_BOOT_DATA, entry.data[:len(U_BOOT_DATA)])
|
||||
self.assertEqual(U_BOOT_DATA + tools.GetBytes(0, 16 - len(U_BOOT_DATA)),
|
||||
data[pos:pos + entry.size])
|
||||
pos += entry.size
|
||||
|
||||
# Fifth u-boot immediately afterwards
|
||||
self.assertIn('u-boot-align-both', entries)
|
||||
entry = entries['u-boot-align-both']
|
||||
self.assertEqual(64, entry.offset)
|
||||
self.assertEqual(64, entry.size)
|
||||
self.assertEqual(U_BOOT_DATA, entry.data[:len(U_BOOT_DATA)])
|
||||
self.assertEqual(U_BOOT_DATA + tools.GetBytes(0, 64 - len(U_BOOT_DATA)),
|
||||
data[pos:pos + entry.size])
|
||||
|
||||
self.CheckNoGaps(entries)
|
||||
self.assertEqual(128, image.size)
|
||||
|
@ -28,7 +28,7 @@
|
||||
|
||||
u-boot-align-both {
|
||||
type = "u-boot";
|
||||
align= <64>;
|
||||
align = <64>;
|
||||
align-end = <128>;
|
||||
};
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user