summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/utils/__init__.py
diff options
context:
space:
mode:
authorMariano Lopez <mariano.lopez@linux.intel.com>2016-12-21 13:14:00 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-23 12:05:19 +0000
commitbbb7366db3a631eed786c86a1c627e00c927f0b4 (patch)
treec83dd1bb96671bac9da0cb76fd711a07aa1adada /meta/lib/oeqa/utils/__init__.py
parentad2168365f87392035a93cf2cd86ccedc3d5e378 (diff)
downloadpoky-bbb7366db3a631eed786c86a1c627e00c927f0b4.tar.gz
oeqa/utils/__init__.py: Adds compatibility with bitbake logger
The bitbake logger changes the way debug is logged and adds different levels within debug, this is passed as argument to the function and breaks compatibility with vanilla loggers. This implements a way to handle this adding a new function for debug, that will dispatch the correct logging method signature. Also overrides info method to use logging.INFO + 1 in order to see plain data. Also this commit fix the issue of not showing the test summary and results when running from bitbake. [YOCTO #10686] (From OE-Core rev: 619c9ab308fbef9e3563dc661e432603e764b562) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/utils/__init__.py')
-rw-r--r--meta/lib/oeqa/utils/__init__.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/meta/lib/oeqa/utils/__init__.py b/meta/lib/oeqa/utils/__init__.py
index 8f706f3637..485de031a9 100644
--- a/meta/lib/oeqa/utils/__init__.py
+++ b/meta/lib/oeqa/utils/__init__.py
@@ -36,3 +36,33 @@ def avoid_paths_in_environ(paths):
36 36
37 new_path = new_path[:-1] 37 new_path = new_path[:-1]
38 return new_path 38 return new_path
39
40def make_logger_bitbake_compatible(logger):
41 import logging
42
43 """
44 Bitbake logger redifines debug() in order to
45 set a level within debug, this breaks compatibility
46 with vainilla logging, so we neeed to redifine debug()
47 method again also add info() method with INFO + 1 level.
48 """
49 def _bitbake_log_debug(*args, **kwargs):
50 lvl = logging.DEBUG
51
52 if isinstance(args[0], int):
53 lvl = args[0]
54 msg = args[1]
55 args = args[2:]
56 else:
57 msg = args[0]
58 args = args[1:]
59
60 logger.log(lvl, msg, *args, **kwargs)
61
62 def _bitbake_log_info(msg, *args, **kwargs):
63 logger.log(logging.INFO + 1, msg, *args, **kwargs)
64
65 logger.debug = _bitbake_log_debug
66 logger.info = _bitbake_log_info
67
68 return logger