- add terminate emulator option :)

svn path=/trunk/; revision=27662
This commit is contained in:
Johannes Anderwald 2007-07-14 15:23:56 +00:00
parent 47dc768408
commit 5c48c77054
3 changed files with 19 additions and 7 deletions

View file

@ -53,6 +53,7 @@ namespace Sysreg_
string RosBootTest::CHECK_POINT = _T("ROSBOOT_CHECK_POINT");
string RosBootTest::SYSREG_CHECKPOINT = _T("SYSREG_CHECKPOINT:");
string RosBootTest::CRITICAL_APP = _T("ROSBOOT_CRITICAL_APP");
string RosBootTest::TERMINATE_EMULATOR = _T("ROSBOOT_TERMINATE_EMULATOR");
//---------------------------------------------------------------------------------------
RosBootTest::RosBootTest() : m_Timeout(60.0), m_Delayread(0)
@ -217,6 +218,7 @@ namespace Sysreg_
conf_parser.getStringValue (RosBootTest::CHECK_POINT, m_Checkpoint);
conf_parser.getStringValue (RosBootTest::CRITICAL_APP, m_CriticalApp);
conf_parser.getStringValue (RosBootTest::DEBUG_FILE, m_DebugFile);
conf_parser.getStringValue (RosBootTest::TERMINATE_EMULATOR, m_KillEmulator);
return true;
}
@ -273,14 +275,16 @@ namespace Sysreg_
bool ret = analyzeDebugData();
m_DataSource->closeSource();
OsSupport::sleep(3 * CLOCKS_PER_SEC);
if (m_Pid)
{
if (m_KillEmulator == "yes")
{
OsSupport::sleep(3 * CLOCKS_PER_SEC);
if (m_Pid)
{
OsSupport::terminateProcess (m_Pid);
}
}
return ret;
}
return ret;
}
//---------------------------------------------------------------------------------------
void RosBootTest::dumpCheckpoints()
{

View file

@ -40,6 +40,7 @@ namespace Sysreg_
static string SYSREG_CHECKPOINT;
static string DELAY_READ;
static string CRITICAL_APP;
static string TERMINATE_EMULATOR;
//---------------------------------------------------------------------------------------
///
@ -129,6 +130,7 @@ protected:
string m_DebugPort;
string m_Pipe;
string m_File;
string m_KillEmulator;
DataSource * m_DataSource;
vector <string> m_Checkpoints;
unsigned long m_Delayread;

View file

@ -27,7 +27,7 @@ ROS_ADDR2LINE=addr2line.exe --exe=
; This value is the command which is executed to gain debugging data
; this value is mandatory
ROSBOOT_CMD=D:\sysreg\qemu\qemu.exe -serial pipe:qemu -boot c -m 128 -L D:\sysreg\qemu\ D:\sysreg\qemu\RosVM.vmdk -cdrom D:\Reactos\ReactOS-RegTest.iso -pidfile pid.txt
ROSBOOT_CMD=D:\sysreg\qemu\qemu.exe -serial pipe:qemu -boot c -m 128 -L D:\sysreg\qemu\ D:\sysreg\qemu\RosVM.vmdk -cdrom D:\Reactos\ReactOS-RegTest.iso -
;
; ROSBOOT_DEBUG_PORT
@ -103,3 +103,9 @@ ROSBOOT_CHECK_POINT=USETUP_COMPLETE
ROSBOOT_CRITICAL_APP=setup.exe userinit.exe smss.exe winlogon.exe csrss.exe explorer.exe
;ROSBOOT_CRITICAL_APP=setup.exe userinit.exe smss.exe winlogon.exe csrss.exe explorer.exe lsass.exe
;ROSBOOT_TERMINATE_EMULATOR
;
; Terminate the emulator when sysreg exits, default no
;
;ROSBOOT_TERMINATE_EMULATOR=no
ROSBOOT_TERMINATE_EMULATOR=yes