summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Larson <chris_larson@mentor.com>2015-08-24 15:31:59 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-03 23:28:16 +0100
commitc514b6fbea77ede1b7871b89592a33ed39b1d71c (patch)
tree594233b11069bd0138b11b9d091712bf91aadc20
parentdd3050ceef37ac556546e940aa596ce96ef6c8df (diff)
downloadbitbake-c514b6fbea77ede1b7871b89592a33ed39b1d71c.zip
bb.data_smart: retain traceback from ExpansionError
This gives us the needed context of the original ExpansionError, which is invaluable when we have a chain of function calls in the expansion. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/data_smart.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py
index 75e22f9c..79b4ed93 100644
--- a/lib/bb/data_smart.py
+++ b/lib/bb/data_smart.py
@@ -392,7 +392,8 @@ class DataSmart(MutableMapping):
except bb.parse.SkipRecipe:
raise
except Exception as exc:
- raise ExpansionError(varname, s, exc)
+ exc_class, exc, tb = sys.exc_info()
+ raise ExpansionError, ExpansionError(varname, s, exc), tb
varparse.value = s