Finish tests even if there are still things on the run loop

Otherwise it's easy to introduce bugs that cause tests to mysteriously time
out. Such problems aren't really something it seems necessary to care about
anyway.