summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/data_smart.py
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2012-09-25 15:17:17 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-09-27 16:45:28 +0100
commit81602499c911f5523ee304349b23608e1f8ffff6 (patch)
tree5f999441396f02f9b7f7b6702acbb33dea7ebdec /bitbake/lib/bb/data_smart.py
parent31f0de42fc993034f144d0b3c0e123d83a9be290 (diff)
downloadpoky-81602499c911f5523ee304349b23608e1f8ffff6.tar.gz
bitbake: lib/bb/data.py: improve output for expansion errors
Instead of logging the function/variable separately as a NOTE when failing to expand, re-raise ExpansionError with more contextual information. This means that the full details are reported in Hob as well as actually reporting the original error message in any UI where we previously did not. For example, we used to get this with tab/space indentation issues in a python function: NOTE: Error expanding variable populate_packages ERROR: Unable to parse /path/to/recipename.bb Now, we will get this: ERROR: ExpansionError during parsing /path/to/recipename.bb: Failure expanding variable populate_packages: IndentationError: unindent does not match any outer indentation level (<string>, line 4) Fixes [YOCTO #3162]. (Bitbake rev: ce5c7a95a359cdaecab7c4a519ad4f9df029da82) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/data_smart.py')
-rw-r--r--bitbake/lib/bb/data_smart.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index f5f3b13a73..ec3c04e30c 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -103,7 +103,10 @@ class ExpansionError(Exception):
103 self.variablename = varname 103 self.variablename = varname
104 self.exception = exception 104 self.exception = exception
105 if varname: 105 if varname:
106 self.msg = "Failure expanding variable %s, expression was %s which triggered exception %s: %s" % (varname, expression, type(exception).__name__, exception) 106 if expression:
107 self.msg = "Failure expanding variable %s, expression was %s which triggered exception %s: %s" % (varname, expression, type(exception).__name__, exception)
108 else:
109 self.msg = "Failure expanding variable %s: %s: %s" % (varname, type(exception).__name__, exception)
107 else: 110 else:
108 self.msg = "Failure expanding expression %s which triggered exception %s: %s" % (expression, type(exception).__name__, exception) 111 self.msg = "Failure expanding expression %s which triggered exception %s: %s" % (expression, type(exception).__name__, exception)
109 Exception.__init__(self, self.msg) 112 Exception.__init__(self, self.msg)