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));
     }
 }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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);
            }
        }