Great work on 1.33b, massive improvement!
If a test causes a stack overflow, or just never returns, the NCrunch runner never returns either.
Clicking the 'Reset' button in the Tests panel, or Disabling / Enabling NCrunch from the VS menu, appears to cancel the test run as the tool panels get cleared, but NCrunch never recovers and a VS restart is the only fix.
Would be great to have two things:
- A "stop" button for currently running tests
- A "timeout" configuration for test projects at which point the test runner abandons the test and marks it as a failure
p.s. Obviously the test was covering flawed code, but it would be nice to be able to test for a stack overflow ;)
I reckon I've spotted a part of the prob: I was running the tests in linear fashion, now that I've switched to running tests in parallel NCrunch does appear to kill the recursive test eventually and recover.
I believe even without the parallel execution, NCrunch should be able to recover from a stack overflow ... but the queue will likely seize up on the batch of tests that contains the offender. If you carry on coding (after fixing the stack overflow), everything should just carry on as usual. In fact, the most annoying part of the stack overflow is simply the fact that it throws a message up on the screen .. when it would be much better for the test to just fail instead :)
You'll also notice that timeouts are built into NCrunch. Have a look at test timeouts.