Author: fireball Date: Wed Jun 9 11:12:07 2010 New Revision: 47707
URL: http://svn.reactos.org/svn/reactos?rev=47707&view=rev Log: [SYSREG3] - Print a message if maximum number of retries is exceeded. - Stop executing if ProcessDebugOutput asked so. - Report stopping reason to console.
Modified: trunk/tools/sysreg3/Program.cs
Modified: trunk/tools/sysreg3/Program.cs URL: http://svn.reactos.org/svn/reactos/trunk/tools/sysreg3/Program.cs?rev=47707&... ============================================================================== --- trunk/tools/sysreg3/Program.cs [iso-8859-1] (original) +++ trunk/tools/sysreg3/Program.cs [iso-8859-1] Wed Jun 9 11:12:07 2010 @@ -22,7 +22,7 @@ string machineName = "ReactOS"; int maxRetries = 3; int numStages = 3; - int vmTimeout = 5 * 1000; // 120 secs + int vmTimeout = 30 * 1000; // 120 secs
IMachine rosVM; IVirtualBox vBox; @@ -73,7 +73,7 @@ if (waitingTime >= vmTimeout) { /* We hit the timeout, quit */ - Console.WriteLine("[SYSREG] Timeout"); + Console.WriteLine("[SYSREG] timeout"); Result = ContinueType.EXIT_CONTINUE; quitLoop = true; break; @@ -147,6 +147,7 @@
public void RunTests() { + ContinueType Ret = ContinueType.EXIT_DONT_CONTINUE; IProgress vmProgress;
// TODO: Load settings @@ -188,7 +189,8 @@ /* Start main testing loop */ for (int stage = 0; stage < numStages; stage++) { - for (int retries = 0; retries < maxRetries; retries++) + int retries; + for (retries = 0; retries < maxRetries; retries++) { /* Start the VM */ try @@ -210,7 +212,7 @@ Console.WriteLine("[SYSREG] Running stage {0}...", stage + 1); Console.WriteLine("[SYSREG] Domain {0} started.\n", rosVM.Name);
- ContinueType Ret = ProcessDebugOutput(vmSession, stage); + Ret = ProcessDebugOutput(vmSession, stage);
/* Kill the VM */ vmProgress = vmSession.Console.PowerDown(); @@ -229,14 +231,33 @@ } catch (Exception exc) { - Console.WriteLine("Running the VM failed with exception: " + exc.ToString()); + Console.WriteLine("[SYSREG] Running the VM failed with exception: " + exc.ToString()); break; } - - break; }
- break; + /* Check for a maximum number of retries */ + if (retries == maxRetries) + { + Console.WriteLine("[SYSREG] Maximum number of allowed retries exceeded, aborting!"); + break; + } + + /* Stop executing if asked so */ + if (Ret == ContinueType.EXIT_DONT_CONTINUE) break; + } + + switch (Ret) + { + case ContinueType.EXIT_CHECKPOINT_REACHED: + Console.WriteLine("[SYSREG] Status: Reached the checkpoint!"); + break; + case ContinueType.EXIT_CONTINUE: + Console.WriteLine("[SYSREG] Status: Failed to reach the checkpoint!!"); + break; + case ContinueType.EXIT_DONT_CONTINUE: + Console.WriteLine("[SYSREG] Status: Testing process aborted!"); + break; } } }