private CompilerResult CreateCompilerResult()
 {
     return(new CompilerResult {
         StandardOutput = StandardOutput.ReadToEnd(),
         StandardError = StandardError.ReadToEnd(),
         CompilationTime = (int)ExitTime.Subtract(StartTime).TotalMilliseconds
     });
 }
Ejemplo n.º 2
0
 private RunResult CreateRunResult()
 {
     return(new RunResult {
         Output = StandardOutput.ReadToEnd(),
         Error = StandardError.ReadToEnd(),
         RunTime = (int)ExitTime.Subtract(StartTime).TotalMilliseconds
     });
 }
Ejemplo n.º 3
0
        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());
        }
Ejemplo n.º 4
0
        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);
            }
        }