Tests: move thread stacks on failure to a RunListener, so it actually works