1
0
mirror of https://git.yoctoproject.org/poky synced 2026-07-26 19:17:07 +00:00

bitbake: bitbake: tests/event: Add test_lineno_in_eventhandler

Add test_lineno_in_eventhandler to test lineno in eventhandler.

(Bitbake rev: 4e5de537bebb68180c5755858c81b095eb9ae2f6)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang
2024-01-08 23:45:34 -08:00
committed by Richard Purdie
parent 3f41592920
commit 4e2fcdb383
+24
View File
@@ -13,6 +13,7 @@ import pickle
import threading import threading
import time import time
import unittest import unittest
import tempfile
from unittest.mock import Mock from unittest.mock import Mock
from unittest.mock import call from unittest.mock import call
@@ -468,6 +469,8 @@ class EventClassesTest(unittest.TestCase):
def setUp(self): def setUp(self):
bb.event.worker_pid = EventClassesTest._worker_pid bb.event.worker_pid = EventClassesTest._worker_pid
self.d = bb.data.init()
bb.parse.siggen = bb.siggen.init(self.d)
def test_Event(self): def test_Event(self):
""" Test the Event base class """ """ Test the Event base class """
@@ -950,3 +953,24 @@ class EventClassesTest(unittest.TestCase):
event = bb.event.FindSigInfoResult(result) event = bb.event.FindSigInfoResult(result)
self.assertEqual(event.result, result) self.assertEqual(event.result, result)
self.assertEqual(event.pid, EventClassesTest._worker_pid) 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)