binman: Allow 'fill' entry to have a size of 0

The check for this should be for None, not 0. Fix it and add a test.

Signed-off-by: Simon Glass <sjg@chromium.org>
lime2-spi
Simon Glass 6 years ago
parent f069303852
commit d178eab8f9
  1. 2
      tools/binman/etype/fill.py
  2. 5
      tools/binman/ftest.py
  3. 15
      tools/binman/test/80_fill_empty.dts

@ -23,7 +23,7 @@ class Entry_fill(Entry):
"""
def __init__(self, section, etype, node):
Entry.__init__(self, section, etype, node)
if not self.size:
if self.size is None:
self.Raise("'fill' entry must have a size property")
self.fill_value = fdt_util.GetByte(self._node, 'fill-byte', 0)

@ -1364,6 +1364,11 @@ class TestFunctional(unittest.TestCase):
self.assertIn("Node '/binman/u-boot': Please use 'offset' instead of "
"'pos'", str(e.exception))
def testFillZero(self):
"""Test for an fill entry type with a size of 0"""
data = self._DoReadFile('80_fill_empty.dts')
self.assertEqual(chr(0) * 16, data)
if __name__ == "__main__":
unittest.main()

@ -0,0 +1,15 @@
// SPDX-License-Identifier: GPL-2.0+
/dts-v1/;
/ {
#address-cells = <1>;
#size-cells = <1>;
binman {
size = <16>;
fill {
size = <0>;
fill-byte = [ff];
};
};
};
Loading…
Cancel
Save