diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2024-01-08 23:45:34 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-01-10 13:54:46 +0000 |
commit | 4e5de537bebb68180c5755858c81b095eb9ae2f6 (patch) | |
tree | 812a476cb9ef81e1f6cd6cf192c1aa2af8dc3fce | |
parent | c212933d9c786806852c87f188250a4f0a14c048 (diff) | |
download | bitbake-4e5de537bebb68180c5755858c81b095eb9ae2f6.tar.gz |
bitbake: tests/event: Add test_lineno_in_eventhandler
Add test_lineno_in_eventhandler to test lineno in eventhandler.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | lib/bb/tests/event.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/bb/tests/event.py b/lib/bb/tests/event.py index d959f2d95..ef61891d3 100644 --- a/lib/bb/tests/event.py +++ b/lib/bb/tests/event.py @@ -13,6 +13,7 @@ import pickle import threading import time import unittest +import tempfile from unittest.mock import Mock from unittest.mock import call @@ -468,6 +469,8 @@ class EventClassesTest(unittest.TestCase): def setUp(self): bb.event.worker_pid = EventClassesTest._worker_pid + self.d = bb.data.init() + bb.parse.siggen = bb.siggen.init(self.d) def test_Event(self): """ Test the Event base class """ @@ -950,3 +953,24 @@ class EventClassesTest(unittest.TestCase): event = bb.event.FindSigInfoResult(result) self.assertEqual(event.result, result) self.assertEqual(event.pid, EventClassesTest._worker_pid) + + def test_lineno_in_eventhandler(self): + # The error lineno is 5, not 4 since the first line is '\n' + error_line = """ +# Comment line1 +# Comment line2 +python test_lineno_in_eventhandler() { + This is an error line +} +addhandler test_lineno_in_eventhandler +test_lineno_in_eventhandler[eventmask] = "bb.event.ConfigParsed" +""" + + with self.assertLogs() as logs: + f = tempfile.NamedTemporaryFile(suffix = '.bb') + f.write(bytes(error_line, "utf-8")) + f.flush() + d = bb.parse.handle(f.name, self.d)[''] + + output = "".join(logs.output) + self.assertTrue(" line 5\n" in output) |