[bitbake-devel] cookerdata: Improve error handling

Submitted by Richard Purdie on May 30, 2014, 2:53 p.m. | Patch ID: 73009


Message ID 1401461633.31309.49.camel@ted
State New
Headers show

Commit Message

Richard Purdie May 30, 2014, 2:53 p.m.
If we see errors during parsing, firstly its bad to show a traceback
for an expansion error so lets suppress this.

Secondly, raise a BBHandledException instead of a SystemExit to show
we've informed the user about the condition (printing a traceback in the
default unknown case).

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Patch hide | download patch | download mbox

diff --git a/bitbake/lib/bb/cookerdata.py b/bitbake/lib/bb/cookerdata.py
index b9b9e16..60a6d51 100644
--- a/bitbake/lib/bb/cookerdata.py
+++ b/bitbake/lib/bb/cookerdata.py
@@ -227,10 +227,13 @@  class CookerDataBuilder(object):
             self.parseConfigurationFiles(self.prefiles, self.postfiles)
         except SyntaxError:
-            sys.exit(1)
+            raise bb.BBHandledException
+        except bb.data_smart.ExpansionError as e:
+            logger.error(str(e))
+            raise bb.BBHandledException
         except Exception:
             logger.exception("Error parsing configuration files")
-            sys.exit(1)
+            raise bb.BBHandledException
     def _findLayerConf(self, data):
         return findConfigFile("bblayers.conf", data)