Should add a unit test for the timeout case. You could handle this by making the timeout settable by the unit tests, so you can set it to a small value just for this test case--we did that in a couple of the installer dialog unit tests.