Openembedded Bitbake Development
 help / color / mirror / Atom feed
* [PATCH v2] tests/data: Add log parsing test code
@ 2015-05-27 16:33 Richard Purdie
  0 siblings, 0 replies; only message in thread
From: Richard Purdie @ 2015-05-27 16:33 UTC (permalink / raw)
  To: bitbake-devel

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>

diff --git a/bitbake/lib/bb/tests/data.py b/bitbake/lib/bb/tests/data.py
index 7994a88..b4fd2c5 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):




^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2015-05-27 16:33 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-27 16:33 [PATCH v2] tests/data: Add log parsing test code Richard Purdie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox