@@ -10,16 +10,22 @@ import fdt_util
import tools
class Entry__testing(Entry):
+ """A fake entry used for testing
+
+ Properties:
+ return_invalid_entry: Return an invalid entry from GetPositions()
+ """
def __init__(self, section, etype, node):
Entry.__init__(self, section, etype, node)
+ self.return_invalid_entry = fdt_util.GetBool(self._node,
+ 'return-invalid-entry')
def ObtainContents(self):
self.data = 'a'
self.contents_size = len(self.data)
return True
- def ReadContents(self):
- return True
-
def GetPositions(self):
- return {'invalid-entry': [1, 2]}
+ if self.return_invalid_entry :
+ return {'invalid-entry': [1, 2]}
+ return {}
@@ -6,6 +6,7 @@
binman {
_testing {
+ return-invalid-entry;
};
};
};
This fake entry is used for testing. At present it only has one behaviour which is to return an invalid set of entry positions, to cause an error. The fake entry will need to be used for other things too. Allow the test .dts file to specify the behaviour of the fake entry, so we can control its behaviour easily. While we are here, drop the ReadContents() method, since this only applies to subclasses of Entry_blob, which Entry__testing is not. Signed-off-by: Simon Glass <sjg@chromium.org> --- tools/binman/etype/_testing.py | 14 ++++++++++---- tools/binman/test/41_unknown_pos_size.dts | 1 + 2 files changed, 11 insertions(+), 4 deletions(-)