From bde0f60971c3c9b758b31fae7cf243e70b3833ff Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 27 May 2015 17:33:16 +0100 Subject: bitbake: tests/data: Add log parsing test code This allows us to write tests which ensure a particular action generates a particular log message. (Bitbake rev: b30ee0aba51a35a194a4338b988f93ece1ed281c) Signed-off-by: Richard Purdie --- bitbake/lib/bb/tests/data.py | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'bitbake/lib/bb/tests') diff --git a/bitbake/lib/bb/tests/data.py b/bitbake/lib/bb/tests/data.py index 7994a88a78..b4e90e0327 100644 --- a/bitbake/lib/bb/tests/data.py +++ b/bitbake/lib/bb/tests/data.py @@ -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): @@ -301,7 +325,6 @@ class TestOverrides(unittest.TestCase): bb.data.update_data(self.d) self.assertEqual(self.d.getVar("TEST", True), "testvalue3") - class TestFlags(unittest.TestCase): def setUp(self): self.d = bb.data.init() -- cgit v1.2.3-54-g00ecf