From 1d1c362aba8062d5908383e1398cc40e6ea2e93b Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Wed, 5 Jun 2019 11:08:10 -0700 Subject: [PATCH] StdlibUnittest: consume the carriage return on stdout This was already being done for the stderr, but not for stdout. Doing this means that we no longer get spurious carriage returns on the stdout output stream on Windows. This is needed for supporting the validation test suite on Windows. --- stdlib/private/StdlibUnittest/StdlibUnittest.swift | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/stdlib/private/StdlibUnittest/StdlibUnittest.swift b/stdlib/private/StdlibUnittest/StdlibUnittest.swift index 3d25d17a3266b..a71120b6ce7d0 100644 --- a/stdlib/private/StdlibUnittest/StdlibUnittest.swift +++ b/stdlib/private/StdlibUnittest/StdlibUnittest.swift @@ -934,7 +934,10 @@ class _ParentProcess { let (_, stdoutThread) = _stdlib_thread_create_block({ while !self._childStdout.isEOF { self._childStdout.read() - while let line = self._childStdout.getline() { + while var line = self._childStdout.getline() { + if let cr = line.firstIndex(of: "\r") { + line.remove(at: cr) + } var done: Bool (done: done, ()) = onStdoutLine(line) if done { return }