bitbake: cookerdata: Improve error handling
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 30 May 2014 14:53:53 +0000 (15:53 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 1 Jun 2014 13:29:31 +0000 (14:29 +0100)
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).

(Bitbake rev: e01988d9a1b7c40e31161c6ce7b85c4405671068)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/cookerdata.py

index b9b9e16..60a6d51 100644 (file)
@@ -227,10 +227,13 @@ class CookerDataBuilder(object):
         try:
             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)