summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/ui/toasterui.py
diff options
context:
space:
mode:
authorAlexandru DAMIAN <alexandru.damian@intel.com>2015-05-01 16:20:33 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-05-08 17:42:05 +0100
commit7759cd4931b2e7af19eea79dfac6738a92687665 (patch)
treee09e11a14b04e02e9902b76505cf3f651d577edc /bitbake/lib/bb/ui/toasterui.py
parent4a711028c709d4bb1421e1637ae3fb0ac404fb45 (diff)
downloadpoky-7759cd4931b2e7af19eea79dfac6738a92687665.tar.gz
bitbake: toasterui: proper exit code on toaster errors
This patch modifies the toasterui to properly return the exit code based on the errors found in the toaster itself. The upload event file API call will not delete event logs for which toasterui showed an error. This will facilitate debugging. Minor enhancement in the buildinfohelper to reduce the number of lookups on unknown layer objects (prevented testing of the patch). (Bitbake rev: 1ddd6a9e4280a4adf971132ff1fe7ec9b3252905) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/ui/toasterui.py')
-rw-r--r--bitbake/lib/bb/ui/toasterui.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/bitbake/lib/bb/ui/toasterui.py b/bitbake/lib/bb/ui/toasterui.py
index f0f853be14..6a7a1cd174 100644
--- a/bitbake/lib/bb/ui/toasterui.py
+++ b/bitbake/lib/bb/ui/toasterui.py
@@ -88,7 +88,7 @@ def main(server, eventHandler, params ):
88 88
89 if not params.observe_only: 89 if not params.observe_only:
90 logger.error("ToasterUI can only work in observer mode") 90 logger.error("ToasterUI can only work in observer mode")
91 return 91 return 1
92 92
93 93
94 main.shutdown = 0 94 main.shutdown = 0
@@ -144,7 +144,6 @@ def main(server, eventHandler, params ):
144 buildinfohelper.store_log_event(event) 144 buildinfohelper.store_log_event(event)
145 if event.levelno >= format.ERROR: 145 if event.levelno >= format.ERROR:
146 errors = errors + 1 146 errors = errors + 1
147 return_value = 1
148 elif event.levelno == format.WARNING: 147 elif event.levelno == format.WARNING:
149 warnings = warnings + 1 148 warnings = warnings + 1
150 # For "normal" logging conditions, don't show note logs from tasks 149 # For "normal" logging conditions, don't show note logs from tasks
@@ -158,7 +157,6 @@ def main(server, eventHandler, params ):
158 157
159 if isinstance(event, bb.build.TaskFailed): 158 if isinstance(event, bb.build.TaskFailed):
160 buildinfohelper.update_and_store_task(event) 159 buildinfohelper.update_and_store_task(event)
161 return_value = 1
162 logfile = event.logfile 160 logfile = event.logfile
163 if logfile and os.path.exists(logfile): 161 if logfile and os.path.exists(logfile):
164 bb.error("Logfile of failure stored in: %s" % logfile) 162 bb.error("Logfile of failure stored in: %s" % logfile)
@@ -188,7 +186,6 @@ def main(server, eventHandler, params ):
188 continue 186 continue
189 187
190 if isinstance(event, bb.event.NoProvider): 188 if isinstance(event, bb.event.NoProvider):
191 return_value = 1
192 errors = errors + 1 189 errors = errors + 1
193 if event._runtime: 190 if event._runtime:
194 r = "R" 191 r = "R"
@@ -316,6 +313,7 @@ def main(server, eventHandler, params ):
316 continue 313 continue
317 314
318 logger.error("Unknown event: %s", event) 315 logger.error("Unknown event: %s", event)
316 return_value += 1
319 317
320 except EnvironmentError as ioerror: 318 except EnvironmentError as ioerror:
321 # ignore interrupted io 319 # ignore interrupted io
@@ -344,10 +342,13 @@ def main(server, eventHandler, params ):
344 except Exception as ce: 342 except Exception as ce:
345 logger.error("CRITICAL - Failed to to save toaster exception to the database: %s" % str(ce)) 343 logger.error("CRITICAL - Failed to to save toaster exception to the database: %s" % str(ce))
346 344
345 # make sure we return with an error
346 return_value += 1
347 pass 347 pass
348 348
349 if interrupted: 349 if interrupted:
350 if return_value == 0: 350 if return_value == 0:
351 return_value = 1 351 return_value += 1
352 352
353 logger.warn("Return value is %d", return_value)
353 return return_value 354 return return_value