diff mbox series

[U-Boot,02/29] binman: Make the operation of Entry__testing explicit

Message ID 20180606004705.79641-3-sjg@chromium.org
State Superseded
Delegated to: Simon Glass
Headers show
Series binman: Add more tests and support for updating the device tree | expand

Commit Message

Simon Glass June 6, 2018, 12:46 a.m. UTC
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(-)
diff mbox series

Patch

diff --git a/tools/binman/etype/_testing.py b/tools/binman/etype/_testing.py
index c376dd5c9ca..0b1eaefc3ce 100644
--- a/tools/binman/etype/_testing.py
+++ b/tools/binman/etype/_testing.py
@@ -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 {}
diff --git a/tools/binman/test/41_unknown_pos_size.dts b/tools/binman/test/41_unknown_pos_size.dts
index a8e7d8aa227..94fe821c470 100644
--- a/tools/binman/test/41_unknown_pos_size.dts
+++ b/tools/binman/test/41_unknown_pos_size.dts
@@ -6,6 +6,7 @@ 
 
 	binman {
 		_testing {
+			return-invalid-entry;
 		};
         };
 };