Alarm wouldnt work for me. This is Windows. Alarm on Windows cant break syscalls. The reasons for hanging are I/O and OS threading related. Well, they were until I fixed the reasons for the hangs, but my problem is, if it does "fail" it will fail by hanging. So best idea is not plan for hangs and crashes in tests, since a user shouldnt "normally" see the test fail, and in the rare case it does hang, the user has an automatic watchdog or Ctrl-C/Task Manager to kill it?