This turns all the asserts used in output_callback or exit_callback that can be triggered by misbehaving solvers into task.error calls. This gives better error messages and is required if we want to run multiple tasks in parallel (as for autotune, stages etc.) without one misbehaving solver taking down all of sby.
To simplify things, this also includes small changes to SbyProc so that checkretcode can replace some of those asserts.
This turns all the asserts used in output_callback or exit_callback that can be triggered by misbehaving solvers into
task.error
calls. This gives better error messages and is required if we want to run multiple tasks in parallel (as for autotune, stages etc.) without one misbehaving solver taking down all of sby.To simplify things, this also includes small changes to SbyProc so that checkretcode can replace some of those asserts.