From: Simon Glass Date: Fri, 14 Sep 2018 10:57:09 +0000 (-0600) Subject: binman: Generate an error when text is not provided X-Git-Tag: v2018.11-rc1~2^2~42 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0b489364f90d5cd70b594268442b14e0143c89b5;p=oweals%2Fu-boot.git binman: Generate an error when text is not provided When the value of a text entry is not provided an execption is generated talking about a None type. This is confusing. Add a more explanatory error and a test for this case. Signed-off-by: Simon Glass --- diff --git a/tools/binman/etype/text.py b/tools/binman/etype/text.py index 7a1cddf4af..6e99819487 100644 --- a/tools/binman/etype/text.py +++ b/tools/binman/etype/text.py @@ -51,6 +51,9 @@ class Entry_text(Entry): self.text_label, = self.GetEntryArgsOrProps( [EntryArg('text-label', str)]) self.value, = self.GetEntryArgsOrProps([EntryArg(self.text_label, str)]) + if not self.value: + self.Raise("No value provided for text label '%s'" % + self.text_label) def ObtainContents(self): self.SetContents(self.value) diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py index 7f82264f8a..d956bd42e1 100644 --- a/tools/binman/ftest.py +++ b/tools/binman/ftest.py @@ -1369,6 +1369,13 @@ class TestFunctional(unittest.TestCase): data = self._DoReadFile('80_fill_empty.dts') self.assertEqual(chr(0) * 16, data) + def testTextMissing(self): + """Test for a text entry type where there is no text""" + with self.assertRaises(ValueError) as e: + self._DoReadFileDtb('66_text.dts',) + self.assertIn("Node '/binman/text': No value provided for text label " + "'test-id'", str(e.exception)) + if __name__ == "__main__": unittest.main()