private CompilerResult CreateCompilerResult() { return(new CompilerResult { StandardOutput = StandardOutput.ReadToEnd(), StandardError = StandardError.ReadToEnd(), CompilationTime = (int)ExitTime.Subtract(StartTime).TotalMilliseconds }); }
private RunResult CreateRunResult() { return(new RunResult { Output = StandardOutput.ReadToEnd(), Error = StandardError.ReadToEnd(), RunTime = (int)ExitTime.Subtract(StartTime).TotalMilliseconds }); }
public string StartAndReadStandardError() { StartInfo.RedirectStandardError = true; Start(); // Reading the standard output HAS to go before // WaitForExit, or it will hang forever on output > 4096 bytes string output = StandardError.ReadToEnd(); WaitForExit(); return(output.TrimEnd()); }
public IEnumerable <string> GetOutput() { int stdOutIndex = 0; int stdErrorIndex = 0; int BUF_SIZE = 4096; string output = ""; while (!HasExited) { char[] buf = new char[BUF_SIZE]; if (StandardOutput.Peek() > -1) { stdOutIndex += StandardOutput.Read(buf, stdOutIndex, BUF_SIZE); output = (new string(buf)).Trim(); } else if (StandardError.Peek() > -1) { stdErrorIndex += StandardError.Read(buf, stdErrorIndex, BUF_SIZE); output = (new string(buf)).Trim(); } else { output = ""; } if (!string.IsNullOrEmpty(output)) { yield return(output); } } output = (StandardOutput.ReadToEnd().Trim() + "\r\n" + StandardError.ReadToEnd().Trim()).Trim(); //Console.WriteLine($"Final output: {output}"); if (!string.IsNullOrEmpty(output)) { yield return(output); } }