That timeout trick is very neat!
I'm OK with longer running tests because I always have them run against a real database (often SQLite, sometimes PostgreSQL) and real files created in temporary directories but I can see how the time limit might be useful for tests that don't need those kind of components.
You could probably still hit the timeout with an in-memory sqlite!