It allows to correctly handle tests that were failed by timeout where such failure is the expected behavior.
Sometimes, the launched test process can't finish on Windows if stdout and stderr threads are not read completely. The proper approach here would be to spawn two threads for constantly reading stdout & stderr while the process in being executed.