mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
lib/oe/utils: Improve multiprocess_lauch exception handling
We've seen a cryptic: "ERROR: Fatal errors occurred in subprocesses, tracebacks printed above" message from oe-selftest with no other traceback information. Improve the traceback logging to try and give a better indication of any errors that is ocurring. (From OE-Core rev: 521dd3d00979a27b6932e58d5497de68abac26e1) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
ba89e87d8e
commit
d8d5199e66
|
@ -318,9 +318,10 @@ def multiprocess_launch(target, items, d, extraargs=None):
|
|||
for p in launched:
|
||||
p.join()
|
||||
if errors:
|
||||
msg = ""
|
||||
for (e, tb) in errors:
|
||||
bb.error(str(tb))
|
||||
bb.fatal("Fatal errors occurred in subprocesses, tracebacks printed above")
|
||||
msg = msg + str(e) + ": " + str(tb) + "\n"
|
||||
bb.fatal("Fatal errors occurred in subprocesses:\n%s" % msg)
|
||||
return results
|
||||
|
||||
def squashspaces(string):
|
||||
|
|
|
@ -66,6 +66,9 @@ class TestMultiprocessLaunch(TestCase):
|
|||
|
||||
def dummyerror(msg):
|
||||
print("ERROR: %s" % msg)
|
||||
def dummyfatal(msg):
|
||||
print("ERROR: %s" % msg)
|
||||
raise bb.BBHandledException()
|
||||
|
||||
@contextmanager
|
||||
def captured_output():
|
||||
|
@ -79,6 +82,7 @@ class TestMultiprocessLaunch(TestCase):
|
|||
|
||||
d = bb.data_smart.DataSmart()
|
||||
bb.error = dummyerror
|
||||
bb.fatal = dummyfatal
|
||||
|
||||
# Assert the function returns the right results
|
||||
result = multiprocess_launch(testfunction, ["3", "4", "5", "6"], d, extraargs=(d,))
|
||||
|
|
Loading…
Reference in New Issue
Block a user