The test runner crashes when running with a large numer of tests


There is an error in the function StartTest, where synchronous and asynchronous stream operations are mixed:

process.BeginOutputReadLine( ); //Begin asynchronous read
//Remove this line to make the test runner work as expected
string error = process.StandardError.ReadToEnd( ); //Syncronous read, incompatible with the above statement
process.WaitForExit( );

When running a large number of tests, or running tests that take a certain amount of time to complete, the test runner will terminate due to the above code.