[ROSAUTOTEST] Implement a process activity timeout of 2 minutes. If there is no log output within 2 minutes, the test process is killed, and we continue with the next test.

This is a rather graceful approach compared to sysreg2's 3 minute timeout before killing and restarting the entire VM.
Since we added autochk for FAT filesystems, the filesystem is often "fixed" after a reset with the consequence that ReactOS doesn't boot up anymore.
The sysreg2 restart code still remains for handling tests causing BSODs.
This commit is contained in:
Colin Finck 2019-04-23 09:17:05 +02:00 committed by Timo Kreuzer
parent 0ca4b50791
commit 7dd4d2256b
4 changed files with 131 additions and 19 deletions

View file

@ -2,7 +2,7 @@
* PROJECT: ReactOS Automatic Testing Utility
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Class able to create a new process and closing its handles on destruction (exception-safe)
* COPYRIGHT: Copyright 2009 Colin Finck (colin@reactos.org)
* COPYRIGHT: Copyright 2009-2019 Colin Finck (colin@reactos.org)
*/
#include "precomp.h"
@ -27,10 +27,11 @@ CProcess::CProcess(const wstring& CommandLine, LPSTARTUPINFOW StartupInfo)
}
/**
* Destructs a CProcess object and closes all handles belonging to the process.
* Destructs a CProcess object, terminates the process if running, and closes all handles belonging to the process.
*/
CProcess::~CProcess()
{
TerminateProcess(m_ProcessInfo.hProcess, 255);
CloseHandle(m_ProcessInfo.hThread);
CloseHandle(m_ProcessInfo.hProcess);
}