break out of blocking loop when test completes before timeout
added support for dependencies. Probably should clean up some more