예제 #1
0
        public void CmdRunner_ExitCode_InBetween()
        {
            bool             finalized = false;
            ManualResetEvent mre       = new ManualResetEvent(false);

            CmdRunner runner = new CmdRunner(runnerFile, runnerArgs + "-delay:2", new ListStringOutputHandler());

            runner.Run(false);
            int ret = runner.GetReturnCode();

            Assert.AreEqual(CmdRunner.UNDEFINED_EXITCODE, ret, "While waiting, retCode not as expected");
            Assert.IsFalse(finalized, "Finalized should NOT be true here");

            runner.processFinished += delegate(object sender, EventArgs e)
            {
                mre.Set();
                finalized = true;
            };

            mre.WaitOne(2500, false);

            ret = runner.GetReturnCode();
            Assert.That(ret, Is.Not.EqualTo(CmdRunner.UNDEFINED_EXITCODE).After(100), "After the wait, retcode not as expected.");
            Assert.IsTrue(finalized, "Finalized should be true here");
        }
예제 #2
0
        public void CmdRunner_Basic_ImplicitOutput()
        {
            CmdRunner runner = new CmdRunner(runnerFile, runnerArgs);

            runner.Run(true);

            Assert.AreEqual(null, runner.outputHandler.GetOutput(), "The output from the command is not as expected.");
        }
예제 #3
0
        public void CmdRunner_ExitCode_Successful()
        {
            CmdRunner runner = new CmdRunner(runnerFile, runnerArgs, new ListStringOutputHandler());

            runner.Run(true);
            int ret = runner.GetReturnCode();

            Assert.AreEqual(1, ret, "return value for the exit code is not as expected");
        }
예제 #4
0
        public void CmdRunner_Basic_NullOutput()
        {
            NullOutputHandler nullHandler = new NullOutputHandler();
            CmdRunner         runner      = new CmdRunner(runnerFile, runnerArgs, nullHandler);

            runner.Run(true);

            Assert.AreEqual(null, nullHandler.GetOutput(), "The output from the command is not as expected.");
        }
예제 #5
0
        public void CmdRunner_Basic_ExplicitOutput()
        {
            ListStringOutputHandler handler = new ListStringOutputHandler();
            CmdRunner runner = new CmdRunner(runnerFile, runnerArgs, handler);

            runner.Run(true);

            List <string> testAgainst = new List <string>();

            testAgainst.Add("Start");
            testAgainst.Add("Finished");
            List <string> res = (List <string>)runner.outputHandler.GetOutput();

            Assert.AreEqual(testAgainst, (List <string>)handler.GetOutput(), "Local output is not as expected");
            Assert.AreEqual(testAgainst, res, "The output from the command is not as expected.");
        }