rootfs.py: Reduce spam from _log_check_warn()

For each warning found in the log, _log_check_warn() would output a
line stating that it had found a warning, then the actual warning and
finally an empty line. This is quite excessive when there are many
warnings in the log.

With this change the output is instead a line stating how many
warnings were found, followed by the warnings. This makes the output
much more compact and actually much more readable.

(From OE-Core rev: d6e3477749b1d09d40a773e0ac857a24d5851984)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Peter Kjellerstedt 2016-05-19 00:28:17 +02:00 committed by Richard Purdie
parent 79d177822b
commit 9948e0d3cb
1 changed files with 9 additions and 2 deletions

View File

@ -50,6 +50,7 @@ class Rootfs(object):
excludes = [re.compile(x) for x in excludes]
r = re.compile('^(warn|Warn|WARNING:)')
log_path = self.d.expand("${T}/log.do_rootfs")
messages = []
with open(log_path, 'r') as log:
for line in log:
for ee in excludes:
@ -61,8 +62,14 @@ class Rootfs(object):
m = r.search(line)
if m:
bb.warn('[log_check] %s: found a warning message in the logfile (keyword \'%s\'):\n[log_check] %s'
% (self.d.getVar('PN', True), m.group(), line))
messages.append('[log_check] %s' % line)
if messages:
if len(messages) == 1:
msg = 'a warning message'
else:
msg = '%d warning messages' % len(messages)
bb.warn('[log_check] %s: found %s in the logfile:\n%s'
% (self.d.getVar('PN', True), msg, ''.join(messages)))
def _log_check_error(self):
# Ignore any lines containing log_check to avoid recursion, and ignore