public void TestRemoveExitedEvent() { using (ScriptRunner runner = new ScriptRunner(ScriptEngine.Language.Cmd, "@ECHO From CMD.exe")) { ManualResetEvent mre = new ManualResetEvent(false); ProcessExitedEventHandler h = delegate(object o, ProcessExitedEventArgs e) { mre.Set(); }; runner.ProcessExited += h; runner.ProcessExited -= h; Assert.AreEqual(0, runner.Run()); Assert.IsFalse(mre.WaitOne(250, false)); } }
public void TestExitedEvent() { ProcessRunner runner = new ProcessRunner("cmd.exe", "/C", "echo"); int exitCode = -1; bool receivedExit = false; ProcessExitedEventHandler handler = delegate(object o, ProcessExitedEventArgs e) { receivedExit = true; exitCode = e.ExitCode; }; runner.ProcessExited += handler; Assert.AreEqual(0, runner.Run()); Assert.IsTrue(receivedExit); Assert.AreEqual(0, exitCode); }
public void TestExitedEvent() { using (AssemblyRunner runner = new AssemblyRunner(Exe)) { int exitCode = -1; bool receivedExit = false; ProcessExitedEventHandler handler = delegate(object o, ProcessExitedEventArgs e) { receivedExit = true; exitCode = e.ExitCode; }; runner.ProcessExited += handler; Assert.AreEqual(0, runner.Run()); Assert.IsTrue(receivedExit); Assert.AreEqual(0, exitCode); } }