summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2015-05-27 17:33:16 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-05-29 10:14:06 +0100
commitb30ee0aba51a35a194a4338b988f93ece1ed281c (patch)
tree9becd0ebdcb3a15193b78b8e4f668f972d1699ab
parent5e9d0911cd86e980ab310cc0d79c9383fbc2c844 (diff)
downloadopenembedded-core-contrib-b30ee0aba51a35a194a4338b988f93ece1ed281c.tar.gz
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 <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/tests/data.py25
1 files changed, 24 insertions, 1 deletions
diff --git a/lib/bb/tests/data.py b/lib/bb/tests/data.py
index 7994a88a78..b4e90e0327 100644
--- a/lib/bb/tests/data.py
+++ b/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()