summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/utils.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2014-05-30 15:56:11 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-06-01 14:29:32 +0100
commit8a43a6a32bafc654046250f5362509fd92dd4d10 (patch)
treec074c7cb1bec33de902e32d11abec2c2e252471d /bitbake/lib/bb/utils.py
parent4a78f52d87d5bba57e24f550a84d99e045777b30 (diff)
downloadpoky-8a43a6a32bafc654046250f5362509fd92dd4d10.tar.gz
bitbake: build/utils: Fix broken exception handling
Checking for explicit exception names is bad, we also want to be able top rely on inheritance. Fix these checks to be part of the real except clauses so SkipPackage is recognised as being inherited from SkipRecipe. (Bitbake rev: b131229145e1f2c372d6230a7b554e436c13c3f9) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/utils.py')
-rw-r--r--bitbake/lib/bb/utils.py9
1 files changed, 2 insertions, 7 deletions
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py
index c179394dc9..96d8218812 100644
--- a/bitbake/lib/bb/utils.py
+++ b/bitbake/lib/bb/utils.py
@@ -354,16 +354,11 @@ def better_exec(code, context, text = None, realfile = "<code>"):
354 code = better_compile(code, realfile, realfile) 354 code = better_compile(code, realfile, realfile)
355 try: 355 try:
356 exec(code, get_context(), context) 356 exec(code, get_context(), context)
357 except bb.BBHandledException: 357 except (bb.BBHandledException, bb.parse.SkipRecipe, bb.build.FuncFailed, bb.data_smart.ExpansionError):
358 # Error already shown so passthrough 358 # Error already shown so passthrough, no need for traceback
359 raise
360 except bb.data_smart.ExpansionError:
361 raise 359 raise
362 except Exception as e: 360 except Exception as e:
363 (t, value, tb) = sys.exc_info() 361 (t, value, tb) = sys.exc_info()
364
365 if t in [bb.parse.SkipRecipe, bb.build.FuncFailed]:
366 raise
367 try: 362 try:
368 _print_exception(t, value, tb, realfile, text, context) 363 _print_exception(t, value, tb, realfile, text, context)
369 except Exception as e: 364 except Exception as e: