This test (introduced in f7c0db4) fails every time on Darwin/MacOS (at least for me). It runs fine if you run the test on its own (i.e. do not run TimeoutStepTest.basic()). It times out waiting for the build to fail (line 51). It seemed like it might be something to do with not being able to kill all related child processes running in the parallel step, but I'm not sure about that now after adding some logging to the ProcessTree class. Initially it seemed as though it was trying to kill the same process multiple times (I thought maybe that might cause things to hang) but that's not the case either since I've seen it hang even when all the PIDs are unique, so not sure now.