public void Flush()
        {
            if (_consoleOutput.Count > 0)
            {
                if (_isParsingExitCodeOutput)
                {
                    _consoleOutput.ForEach(l => ExitCodeOutput.Add(l));
                    _isParsingExitCodeOutput = false;
                }
                else
                {
                    ReportTestResult();
                }

                _consoleOutput.Clear();
            }
        }
        private void DoReportLine(string line)
        {
            if (IsRunLine(line) || line.StartsWith(GtaExitCodeOutputBegin))
            {
                if (_consoleOutput.Count > 0)
                {
                    ReportTestResult();
                    _consoleOutput.Clear();
                }

                if (IsRunLine(line))
                {
                    ReportTestStart(line);
                }
                else
                {
                    _isParsingExitCodeOutput = true;
                    return;
                }
            }

            if (line.StartsWith(GtaExitCodeOutputEnd))
            {
                _consoleOutput.ForEach(l => ExitCodeOutput.Add(l));
                _consoleOutput.Clear();
                _isParsingExitCodeOutput = false;
                return;
            }

            if (line.StartsWith(GtaExitCodeSkip))
            {
                ExitCodeSkip = true;
                return;
            }

            _consoleOutput.Add(line);
        }