private void Killing(ProcessEvent pEvent) { if (Name == pEvent.Name) { TransitionTo(m_StateKilling, s_TranIdx_Launched_Killing); PostFIFO(new ProcessEvent(InternalSignal.ProcessKilling, pEvent)); } }
private void Launching(ProcessEvent pEvent) { if (Name == pEvent.Name) { TransitionTo(m_StateLaunching, s_TranIdx_Created_Launching); PostFIFO(new ProcessEvent(InternalSignal.ProcessLaunching, pEvent)); } }
protected virtual void ProcessTimeout(ProcessEvent tEvent) { if ((Retries + 1) <= Test.Steps[CurrentStep].Retries) { Step(new TestEvent(InternalSignal.TestStep, Name), Retries + 1); } else { TransitionToFailed("Process did not launch successfully within timeout."); } }
private void Kill(ProcessEvent pEvent) { if (Name == pEvent.Name) { try { Process.Kill(); TransitionTo(m_StateKilled, s_TranIdx_Killing_Killed); } catch (Exception ex) { TransitionTo(m_StateFaulted, s_TranIdx_Killing_Faulted); } } }
private void Launch(ProcessEvent pEvent) { if (Name == pEvent.Name) { try { Process.Launch(pEvent.CommandLine); TransitionTo(m_StateLaunched, s_TranIdx_Launching_Launched); } catch (Exception ex) { TransitionTo(m_StateFaulted, s_TranIdx_Launching_Faulted); } } }
internal ProcessEvent(InternalSignal signal, ProcessEvent source) : base((int)signal) { switch (signal) { case InternalSignal.ProcessKilling: case InternalSignal.ProcessLaunching: Name = source.Name; CommandLine = source.CommandLine; Timeout = source.Timeout; Error = source.Error; AdditionalDescription = source.AdditionalDescription; break; default: throw new ArgumentException("Invalid internal process signal.", "signal"); } }