public void RunMultipleArgs() { var testFileWithPath = Path.Combine(_testDir, @"test4.txt"); var args = new[] { new Argument { Name = "/C", Value = "set" }, new Argument { Name = "/A", Value = "(1+10)" }, new Argument { Name = ">>", Value = testFileWithPath } }; var input = new RunProcessParameters { FileName = _process, Arguments = args }; var options = new RunProcessOptions { KillProcessAfterTimeout = false, TimeoutSeconds = 30, RedirectStandardInput = false }; ExecuteProcessCommand.RunProcess(input, options); Assert.AreEqual(File.ReadAllText(testFileWithPath), "11"); }
private ActualValueDelegate <object> TestBaseTimeoutKill(bool optionsKillProcess) { var args = new[] { new Argument { Name = "/C", Value = "timeout 10 /nobreak >NUL" } }; var input = new RunProcessParameters { FileName = _process, Arguments = args }; var options = new RunProcessOptions { KillProcessAfterTimeout = optionsKillProcess, TimeoutSeconds = 5, RedirectStandardInput = false }; return(() => ExecuteProcessCommand.RunProcess(input, options)); }
private ActualValueDelegate <object> TestBufferTimeoutKill() { var testFileWithPath = Path.Combine(_testDir, _inputFile); var args = new[] { new Argument { Name = "/C", Value = $"type {testFileWithPath} && timeout 60 /nobreak >NUL" }, }; var input = new RunProcessParameters { FileName = _process, Arguments = args }; var options = new RunProcessOptions { KillProcessAfterTimeout = true, TimeoutSeconds = 30, RedirectStandardInput = false }; return(() => ExecuteProcessCommand.RunProcess(input, options)); }
// Test possible STDOUT buffer sync problems public void FillSTDOUT() { var testFileWithPath = Path.Combine(_testDir, _inputFile); var args = new[] { new Argument { Name = "/C", Value = $"type {testFileWithPath}" } }; var input = new RunProcessParameters { FileName = _process, Arguments = args }; var options = new RunProcessOptions { KillProcessAfterTimeout = false, TimeoutSeconds = 30, RedirectStandardInput = false }; var output = ExecuteProcessCommand.RunProcess(input, options); Assert.IsTrue(output.Output.Length >= 8096 + 5); Assert.IsTrue(output.Output[1234] == 'a'); }