summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/lib/oe/utils.py5
-rw-r--r--meta/lib/oeqa/selftest/cases/oelib/utils.py4
2 files changed, 7 insertions, 2 deletions
diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py
index d05f517a70..8a584d6ddd 100644
--- a/meta/lib/oe/utils.py
+++ b/meta/lib/oe/utils.py
@@ -318,9 +318,10 @@ def multiprocess_launch(target, items, d, extraargs=None):
318 for p in launched: 318 for p in launched:
319 p.join() 319 p.join()
320 if errors: 320 if errors:
321 msg = ""
321 for (e, tb) in errors: 322 for (e, tb) in errors:
322 bb.error(str(tb)) 323 msg = msg + str(e) + ": " + str(tb) + "\n"
323 bb.fatal("Fatal errors occurred in subprocesses, tracebacks printed above") 324 bb.fatal("Fatal errors occurred in subprocesses:\n%s" % msg)
324 return results 325 return results
325 326
326def squashspaces(string): 327def squashspaces(string):
diff --git a/meta/lib/oeqa/selftest/cases/oelib/utils.py b/meta/lib/oeqa/selftest/cases/oelib/utils.py
index 275aeda74e..789c6f78d2 100644
--- a/meta/lib/oeqa/selftest/cases/oelib/utils.py
+++ b/meta/lib/oeqa/selftest/cases/oelib/utils.py
@@ -66,6 +66,9 @@ class TestMultiprocessLaunch(TestCase):
66 66
67 def dummyerror(msg): 67 def dummyerror(msg):
68 print("ERROR: %s" % msg) 68 print("ERROR: %s" % msg)
69 def dummyfatal(msg):
70 print("ERROR: %s" % msg)
71 raise bb.BBHandledException()
69 72
70 @contextmanager 73 @contextmanager
71 def captured_output(): 74 def captured_output():
@@ -79,6 +82,7 @@ class TestMultiprocessLaunch(TestCase):
79 82
80 d = bb.data_smart.DataSmart() 83 d = bb.data_smart.DataSmart()
81 bb.error = dummyerror 84 bb.error = dummyerror
85 bb.fatal = dummyfatal
82 86
83 # Assert the function returns the right results 87 # Assert the function returns the right results
84 result = multiprocess_launch(testfunction, ["3", "4", "5", "6"], d, extraargs=(d,)) 88 result = multiprocess_launch(testfunction, ["3", "4", "5", "6"], d, extraargs=(d,))