summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/tests/parse.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-07-01 17:52:52 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-07-04 22:52:36 +0100
commitbc6d96e69684253a7236594cb0af2738be06b7a9 (patch)
tree808dd13032bcbecf4ecd62c5a493bfeda289ae57 /bitbake/lib/bb/tests/parse.py
parent04467fb51c6816e7373e0bbbe983a97972c6312f (diff)
downloadpoky-bc6d96e69684253a7236594cb0af2738be06b7a9.tar.gz
bitbake: ConfHandler/BBHandler: Improve comment error messages and add tests
Currently if you trigger one of the comment errors, the newline characters are stripped and the line numbers are incorrect. In one case it prints the empty line which is also unhelpful. Rework the code around these errors so the line numbers are correct and the lines in question are more clearly displayed complete with newlines so the user can more clearly see the error. I also added a couple of simplistic test cases to ensure that errors are raised by the two known comment format errors. [YOCTO #11904] (Bitbake rev: 712da71b24445c814d79a206ce26188def8fce0a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/tests/parse.py')
-rw-r--r--bitbake/lib/bb/tests/parse.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/bitbake/lib/bb/tests/parse.py b/bitbake/lib/bb/tests/parse.py
index 2898f9bb14..1a3b74934d 100644
--- a/bitbake/lib/bb/tests/parse.py
+++ b/bitbake/lib/bb/tests/parse.py
@@ -194,3 +194,26 @@ deltask ${EMPTYVAR}
194 self.assertTrue('addtask ignored: " do_patch"' in stdout) 194 self.assertTrue('addtask ignored: " do_patch"' in stdout)
195 #self.assertTrue('dependent task do_foo for do_patch does not exist' in stdout) 195 #self.assertTrue('dependent task do_foo for do_patch does not exist' in stdout)
196 196
197 broken_multiline_comment = """
198# First line of comment \\
199# Second line of comment \\
200
201"""
202 def test_parse_broken_multiline_comment(self):
203 f = self.parsehelper(self.broken_multiline_comment)
204 with self.assertRaises(bb.BBHandledException):
205 d = bb.parse.handle(f.name, self.d)['']
206
207
208 comment_in_var = """
209VAR = " \\
210 SOMEVAL \\
211# some comment \\
212 SOMEOTHERVAL \\
213"
214"""
215 def test_parse_comment_in_var(self):
216 f = self.parsehelper(self.comment_in_var)
217 with self.assertRaises(bb.BBHandledException):
218 d = bb.parse.handle(f.name, self.d)['']
219