dtoc: Support reading a list of arguments
It is helpful to support a string or stringlist containing a list of
space-separated arguments, for example:
args = "-n fred", "-a", "123";
This resolves to the list:
-n fred -a 123
which can be passed to a program as arguments.
Add a helper to do the required processing.
Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/tools/dtoc/test_fdt.py b/tools/dtoc/test_fdt.py
index 5455759..576d65b 100755
--- a/tools/dtoc/test_fdt.py
+++ b/tools/dtoc/test_fdt.py
@@ -652,6 +652,21 @@
self.assertEqual(['test'],
fdt_util.GetStringList(self.node, 'missing', ['test']))
+ def testGetArgs(self):
+ node = self.dtb.GetNode('/orig-node')
+ self.assertEqual(['message'], fdt_util.GetArgs(self.node, 'stringval'))
+ self.assertEqual(
+ ['multi-word', 'message'],
+ fdt_util.GetArgs(self.node, 'stringarray'))
+ self.assertEqual([], fdt_util.GetArgs(self.node, 'boolval'))
+ self.assertEqual(['-n', 'first', 'second', '-p', '123,456', '-x'],
+ fdt_util.GetArgs(node, 'args'))
+ with self.assertRaises(ValueError) as exc:
+ fdt_util.GetArgs(self.node, 'missing')
+ self.assertIn(
+ "Node '/spl-test': Expected property 'missing'",
+ str(exc.exception))
+
def testGetBool(self):
self.assertEqual(True, fdt_util.GetBool(self.node, 'boolval'))
self.assertEqual(False, fdt_util.GetBool(self.node, 'missing'))