summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2012-01-13 17:01:52 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-01-15 10:06:23 +0000
commit684c6ef2d08ad503ce68ac3cc273f1b6a8a56ac7 (patch)
treecdd01d0f277ac8f47b30882a31fe68304967834f /bitbake
parent9fd17bbe1ca3894437a16a625e05334dc97c5273 (diff)
downloadast2050-yocto-poky-684c6ef2d08ad503ce68ac3cc273f1b6a8a56ac7.zip
ast2050-yocto-poky-684c6ef2d08ad503ce68ac3cc273f1b6a8a56ac7.tar.gz
bitbake/knotty: print task failure summary
Remove the error logged within cooker summarising the list of failed tasks, and instead print this in the UI (knotty) where it belongs. This also adds the actual name of the task that failed as well as the corresponding recipe file that was being shown previously. In addition, reformat the summary messages more tidily - no extra breaks between lines and use correct English singular/plurals, with some allowance for future translation. (Bitbake rev: cdf69913f99d28bc7f51067a60257701f952c6cb) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/cooker.py4
-rw-r--r--bitbake/lib/bb/ui/knotty.py24
2 files changed, 22 insertions, 6 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 6041410..4197a02 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -1065,8 +1065,6 @@ class BBCooker:
try:
retval = rq.execute_runqueue()
except runqueue.TaskFailure as exc:
- for fnid in exc.args:
- buildlog.error("'%s' failed" % taskdata.fn_index[fnid])
failures += len(exc.args)
retval = False
except SystemExit as exc:
@@ -1106,8 +1104,6 @@ class BBCooker:
try:
retval = rq.execute_runqueue()
except runqueue.TaskFailure as exc:
- for fnid in exc.args:
- buildlog.error("'%s' failed" % taskdata.fn_index[fnid])
failures += len(exc.args)
retval = False
except SystemExit as exc:
diff --git a/bitbake/lib/bb/ui/knotty.py b/bitbake/lib/bb/ui/knotty.py
index 205a8d8..e1d42f7 100644
--- a/bitbake/lib/bb/ui/knotty.py
+++ b/bitbake/lib/bb/ui/knotty.py
@@ -64,6 +64,12 @@ def new_progress(msg, maxval):
else:
return NonInteractiveProgress(msg, maxval)
+def pluralise(singular, plural, qty):
+ if(qty == 1):
+ return singular % qty
+ else:
+ return plural % qty
+
def main(server, eventHandler):
# Get values of variables which control our output
@@ -107,6 +113,7 @@ def main(server, eventHandler):
return_value = 0
errors = 0
warnings = 0
+ taskfailures = []
while True:
try:
event = eventHandler.waitEvent(0.25)
@@ -240,6 +247,7 @@ def main(server, eventHandler):
continue
if isinstance(event, bb.runqueue.runQueueTaskFailed):
+ taskfailures.append(event.taskstring)
logger.error("Task %s (%s) failed with exit code '%s'",
event.taskid, event.taskstring, event.exitcode)
continue
@@ -272,8 +280,20 @@ def main(server, eventHandler):
server.runCommand(["stateShutdown"])
shutdown = shutdown + 1
pass
+
+ summary = ""
+ if taskfailures:
+ summary += pluralise("\nSummary: %s task failed:",
+ "\nSummary: %s tasks failed:", len(taskfailures))
+ for failure in taskfailures:
+ summary += "\n %s" % failure
if warnings:
- print("Summary: There were %s WARNING messages shown.\n" % warnings)
+ summary += pluralise("\nSummary: There was %s WARNING message shown.",
+ "\nSummary: There were %s WARNING messages shown.", warnings)
if return_value:
- print("Summary: There were %s ERROR messages shown, returning a non-zero exit code.\n" % errors)
+ summary += pluralise("\nSummary: There was %s ERROR message shown, returning a non-zero exit code.",
+ "\nSummary: There were %s ERROR messages shown, returning a non-zero exit code.", errors)
+ if summary:
+ print(summary)
+
return return_value
OpenPOWER on IntegriCloud