From 5c48c77054d7592cda938eafe3a6287a38eb5e2f Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Sat, 14 Jul 2007 15:23:56 +0000 Subject: [PATCH] - add terminate emulator option :) svn path=/trunk/; revision=27662 --- reactos/tools/sysreg/rosboot_test.cpp | 16 ++++++++++------ reactos/tools/sysreg/rosboot_test.h | 2 ++ reactos/tools/sysreg/sample.cfg | 8 +++++++- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/reactos/tools/sysreg/rosboot_test.cpp b/reactos/tools/sysreg/rosboot_test.cpp index ac682406dc6..4883b86d046 100644 --- a/reactos/tools/sysreg/rosboot_test.cpp +++ b/reactos/tools/sysreg/rosboot_test.cpp @@ -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() { diff --git a/reactos/tools/sysreg/rosboot_test.h b/reactos/tools/sysreg/rosboot_test.h index a44cde63efb..1947e4a5614 100644 --- a/reactos/tools/sysreg/rosboot_test.h +++ b/reactos/tools/sysreg/rosboot_test.h @@ -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 m_Checkpoints; unsigned long m_Delayread; diff --git a/reactos/tools/sysreg/sample.cfg b/reactos/tools/sysreg/sample.cfg index 1f538a080bf..e68b9711f0c 100644 --- a/reactos/tools/sysreg/sample.cfg +++ b/reactos/tools/sysreg/sample.cfg @@ -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