Esempio n. 1
0
        public void Run_BATFile()
        {
            var sampleText     = "\"Hello world of MS DOS!\"";
            var sampleFileName = "BatOutput.txt";

            var vbsInvoke = new RunProcessWithTimeoutActivity
            {
                FileName           = @"..\..\TestScripts\createTextFile.bat",
                Arguments          = sampleText + " " + sampleFileName,
                WaitForExit        = true,
                WaitForExitTimeout = 10000,
                KillAtTimeout      = true,
                CaptureOutput      = true
            };

            var output = WorkflowInvoker.Invoke(vbsInvoke);

            Assert.IsTrue(Convert.ToInt32(output["ProcessId"]) != 0);

            Assert.IsTrue(Convert.ToBoolean(output["Finished"]));
            Assert.IsTrue(Convert.ToInt32(output["ExitCode"]) == 0);

            Assert.IsFalse(string.IsNullOrEmpty(Convert.ToString(output["Output"])));
            Assert.IsTrue(string.IsNullOrEmpty(Convert.ToString(output["Error"])));

            Assert.IsTrue(File.Exists(sampleFileName));
            File.Delete(sampleFileName);
        }
Esempio n. 2
0
        public void Run_FilenameDoesNotExist()
        {
            var vbsInvoke = new RunProcessWithTimeoutActivity
            {
                FileName           = @"..\..\TestScripts\NonExistentFile.bat",
                WaitForExit        = true,
                WaitForExitTimeout = 10000,
                KillAtTimeout      = true,
                CaptureOutput      = true
            };

            var argumentException = Assert.ThrowsException <ArgumentException>(() => WorkflowInvoker.Invoke(vbsInvoke));
        }
Esempio n. 3
0
        public void Run_WaitForExitWith0Timeout()
        {
            var vbsInvoke = new RunProcessWithTimeoutActivity
            {
                FileName      = @"perl.exe",
                Arguments     = @"..\..\TestScripts\PerlConfigurableDurationStdOutput.pls 3",
                WaitForExit   = true,
                KillAtTimeout = true,
                CaptureOutput = true
            };

            var argEx = Assert.ThrowsException <ArgumentException>(() => WorkflowInvoker.Invoke(vbsInvoke));
        }
Esempio n. 4
0
        public void Run_PerlInvalidSyntaxErrOutput()
        {
            var vbsInvoke = new RunProcessWithTimeoutActivity
            {
                FileName           = @"perl",
                Arguments          = @"..\..\TestScripts\PerlInvalidSyntaxErrOutput.vbs 3",
                WaitForExit        = true,
                WaitForExitTimeout = 1000,
                KillAtTimeout      = true,
                CaptureOutput      = true
            };

            var output = WorkflowInvoker.Invoke(vbsInvoke);

            Assert.IsTrue(Convert.ToInt32(output["ProcessId"]) != 0);

            Assert.IsTrue(Convert.ToBoolean(output["Finished"]));
            Assert.IsFalse(Convert.ToInt32(output["ExitCode"]) == 0);

            Assert.IsTrue(string.IsNullOrEmpty(Convert.ToString(output["Output"])));
            Assert.IsFalse(string.IsNullOrEmpty(Convert.ToString(output["Error"])));
        }
Esempio n. 5
0
        public void Run_PerlConfigurableDurationStdOutput_KillBeforeForExit()
        {
            var vbsInvoke = new RunProcessWithTimeoutActivity
            {
                FileName           = @"c:\perl\bin\perl.exe",
                Arguments          = @"..\..\TestScripts\PerlConfigurableDurationStdOutput.pls 3",
                WaitForExit        = true,
                WaitForExitTimeout = 1000,
                KillAtTimeout      = true,
                CaptureOutput      = true
            };

            var output = WorkflowInvoker.Invoke(vbsInvoke);

            Assert.IsTrue(Convert.ToInt32(output["ProcessId"]) != 0);

            Assert.IsFalse(Convert.ToBoolean(output["Finished"]));
            Assert.IsTrue(Convert.ToInt32(output["ExitCode"]) == int.MinValue);

            Assert.IsTrue(string.IsNullOrEmpty(Convert.ToString(output["Output"])));
            Assert.IsTrue(string.IsNullOrEmpty(Convert.ToString(output["Error"])));
        }