Fail unit tests that hang
Follow up to #31841 (moved).
We should set a time limit for each individual unit test, and fail it if it takes too long.
We might also want to timelimit checks as well.
We can set a time limit on entire shell commands using the "timelimit" command. But we will need to write test code to do it per-unit test.