tests/data: Add log parsing test code
PATCH v2 1/1 tests/data: Add log parsing test code
This allows us to write tests which ensure a particular action generates a particular log message.
Signed-off-by Richard Purdie <[email protected]>
bitbake/lib/bb/tests/data.py +24 -0
@@ -24,6 +24,30 @@ import unittest import bb import bb.data import bb.parse +import logging + +class LogRecord(): + def __enter__(self): + logs = [] + class LogHandler(logging.Handler): + def emit(self, record): + logs.append(record) + logger = logging.getLogger("BitBake") + handler = LogHandler() + self.handler = handler + logger.addHandler(handler) + return logs + def __exit__(self, type, value, traceback): + logger = logging.getLogger("BitBake") + logger.removeHandler(self.handler) + return + +def LogContains(item, logs): + for l in logs: + m = l.getMessage() + if item in m: + return True + return False class DataExpansions(unittest.TestCase): def setUp(self):