mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 10:39:08 +00:00
binman: Refactor much of the image code into 'section'
We want to support multiple sections within a single image. To do this, move most of the Image class implementation into a new Section class. An Image contains only a single Section, but at some point we will support a new 'section' entry, thus allowing Sections within Sections. Use the name 'bsection' for the module so we can use 'section' for the etype module. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
dd57c13bbc
commit
8f1da50ccc
4 changed files with 340 additions and 243 deletions
|
@ -12,25 +12,28 @@ from elf_test import capture_sys_output
|
|||
class TestImage(unittest.TestCase):
|
||||
def testInvalidFormat(self):
|
||||
image = Image('name', 'node', test=True)
|
||||
section = image._section
|
||||
with self.assertRaises(ValueError) as e:
|
||||
image.LookupSymbol('_binman_something_prop_', False, 'msg')
|
||||
section.LookupSymbol('_binman_something_prop_', False, 'msg')
|
||||
self.assertIn(
|
||||
"msg: Symbol '_binman_something_prop_' has invalid format",
|
||||
str(e.exception))
|
||||
|
||||
def testMissingSymbol(self):
|
||||
image = Image('name', 'node', test=True)
|
||||
image._entries = {}
|
||||
section = image._section
|
||||
section._entries = {}
|
||||
with self.assertRaises(ValueError) as e:
|
||||
image.LookupSymbol('_binman_type_prop_pname', False, 'msg')
|
||||
section.LookupSymbol('_binman_type_prop_pname', False, 'msg')
|
||||
self.assertIn("msg: Entry 'type' not found in list ()",
|
||||
str(e.exception))
|
||||
|
||||
def testMissingSymbolOptional(self):
|
||||
image = Image('name', 'node', test=True)
|
||||
image._entries = {}
|
||||
section = image._section
|
||||
section._entries = {}
|
||||
with capture_sys_output() as (stdout, stderr):
|
||||
val = image.LookupSymbol('_binman_type_prop_pname', True, 'msg')
|
||||
val = section.LookupSymbol('_binman_type_prop_pname', True, 'msg')
|
||||
self.assertEqual(val, None)
|
||||
self.assertEqual("Warning: msg: Entry 'type' not found in list ()\n",
|
||||
stderr.getvalue())
|
||||
|
@ -38,7 +41,8 @@ class TestImage(unittest.TestCase):
|
|||
|
||||
def testBadProperty(self):
|
||||
image = Image('name', 'node', test=True)
|
||||
image._entries = {'u-boot': 1}
|
||||
section = image._section
|
||||
section._entries = {'u-boot': 1}
|
||||
with self.assertRaises(ValueError) as e:
|
||||
image.LookupSymbol('_binman_u_boot_prop_bad', False, 'msg')
|
||||
section.LookupSymbol('_binman_u_boot_prop_bad', False, 'msg')
|
||||
self.assertIn("msg: No such property 'bad", str(e.exception))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue