Resolve "OrangeCanvasHandler: wait_widgets should wait until all threads have finished before re-raising exceptions"
Closes #37 (closed)
The last commit is the fix of OrangeCanvasHandler
which is used in unit tests to test workflows. The other commits are refactoring.
Tested using the CI of ewoksndreg which fails systematically due to this bug. Not easy to reproduce otherwise (seems to depend on Orange3 version as well).
https://gitlab.esrf.fr/workflow/ewoksapps/ewoksndreg/-/jobs/1023037
The "Align" task has two required inputs (imagestack, transformations) and is sometimes executed when only one of the signals is processed. An exception is raised (missing inputs) and the test fails. The fix waits until the entire workflow is processed before raising exceptions (the second execution of the "Align" task erases the exception of the first execution).
https://gitlab.esrf.fr/workflow/ewoksapps/ewoksndreg/-/pipelines/177339