diff options
| -rw-r--r-- | bitbake/lib/bb/tests/event.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/bitbake/lib/bb/tests/event.py b/bitbake/lib/bb/tests/event.py index d959f2d95d..ef61891d30 100644 --- a/bitbake/lib/bb/tests/event.py +++ b/bitbake/lib/bb/tests/event.py | |||
| @@ -13,6 +13,7 @@ import pickle | |||
| 13 | import threading | 13 | import threading |
| 14 | import time | 14 | import time |
| 15 | import unittest | 15 | import unittest |
| 16 | import tempfile | ||
| 16 | from unittest.mock import Mock | 17 | from unittest.mock import Mock |
| 17 | from unittest.mock import call | 18 | from unittest.mock import call |
| 18 | 19 | ||
| @@ -468,6 +469,8 @@ class EventClassesTest(unittest.TestCase): | |||
| 468 | 469 | ||
| 469 | def setUp(self): | 470 | def setUp(self): |
| 470 | bb.event.worker_pid = EventClassesTest._worker_pid | 471 | bb.event.worker_pid = EventClassesTest._worker_pid |
| 472 | self.d = bb.data.init() | ||
| 473 | bb.parse.siggen = bb.siggen.init(self.d) | ||
| 471 | 474 | ||
| 472 | def test_Event(self): | 475 | def test_Event(self): |
| 473 | """ Test the Event base class """ | 476 | """ Test the Event base class """ |
| @@ -950,3 +953,24 @@ class EventClassesTest(unittest.TestCase): | |||
| 950 | event = bb.event.FindSigInfoResult(result) | 953 | event = bb.event.FindSigInfoResult(result) |
| 951 | self.assertEqual(event.result, result) | 954 | self.assertEqual(event.result, result) |
| 952 | self.assertEqual(event.pid, EventClassesTest._worker_pid) | 955 | self.assertEqual(event.pid, EventClassesTest._worker_pid) |
| 956 | |||
| 957 | def test_lineno_in_eventhandler(self): | ||
| 958 | # The error lineno is 5, not 4 since the first line is '\n' | ||
| 959 | error_line = """ | ||
| 960 | # Comment line1 | ||
| 961 | # Comment line2 | ||
| 962 | python test_lineno_in_eventhandler() { | ||
| 963 | This is an error line | ||
| 964 | } | ||
| 965 | addhandler test_lineno_in_eventhandler | ||
| 966 | test_lineno_in_eventhandler[eventmask] = "bb.event.ConfigParsed" | ||
| 967 | """ | ||
| 968 | |||
| 969 | with self.assertLogs() as logs: | ||
| 970 | f = tempfile.NamedTemporaryFile(suffix = '.bb') | ||
| 971 | f.write(bytes(error_line, "utf-8")) | ||
| 972 | f.flush() | ||
| 973 | d = bb.parse.handle(f.name, self.d)[''] | ||
| 974 | |||
| 975 | output = "".join(logs.output) | ||
| 976 | self.assertTrue(" line 5\n" in output) | ||
