private string ReadToEnd(ProcessStreamReader processStream, CancellationToken cancellationToken)
        {
            var readStreamTask = Task.Run(
                () =>
            {
                var streamMessage = string.Empty;

                while (processStream.Peek() >= 0)
                {
                    streamMessage += processStream.ReadLine();
                }

                return(streamMessage);
            });

            var successful = readStreamTask.Wait((int)_maxTime.TotalMilliseconds, cancellationToken);

            return(successful ? readStreamTask.Result : "Stuck when reading from stream!");
        }
Beispiel #2
0
        private bool ReadToEnd(ProcessStreamReader processStream, TimeSpan maxTime, CancellationToken cancellationToken, out string message)
        {
            var readStreamTask = Task.Run(
                () =>
            {
                var streamMessage = string.Empty;

                while (processStream.Peek() >= 0)
                {
                    streamMessage += processStream.ReadLine();
                }

                return(streamMessage);
            },
                cancellationToken);

            // We also have a max time in the test runner so add a bit of extra here
            // just in case so we don't fail it to early.
            var successful = readStreamTask.Wait((int)maxTime.Add(TimeSpan.FromSeconds(30)).TotalMilliseconds, cancellationToken);

            message = successful ? readStreamTask.Result : "Stuck when reading from stream!";
            return(successful);
        }