I'm not totally clear on what's actually being tested here. It seems like we're overriding or simulating all of the important parts of the recovery chain; we never actually catch a real exception and never actually restore a dead thread. I don't have an immediate constructive suggestion for how to do either of those things, but I think I'd rather omit this test than have it present but not actually testing the real issue.