| Index: tools/testing/dart/test_runner.dart
|
| diff --git a/tools/testing/dart/test_runner.dart b/tools/testing/dart/test_runner.dart
|
| index 0da9883dc884eae8f51ad17c752ac856cae3dd31..9a5eed82c44cb536e172aa92bb4a655c8929a81e 100644
|
| --- a/tools/testing/dart/test_runner.dart
|
| +++ b/tools/testing/dart/test_runner.dart
|
| @@ -2339,15 +2339,18 @@ class BatchDFEProcess {
|
|
|
| static Future<String> _firstLine(stream) {
|
| var completer = new Completer<String>();
|
| - var first = true;
|
| stream.transform(UTF8.decoder)
|
| .transform(new LineSplitter())
|
| .listen((line) {
|
| - if (first) {
|
| + if (!completer.isCompleted) {
|
| completer.complete(line);
|
| - first = false;
|
| }
|
| // We need to drain a pipe continuously.
|
| + }, onDone: () {
|
| + if (!completer.isCompleted) {
|
| + completer.completeError(
|
| + "DFE kernel compiler server did not sucessfully start up");
|
| + }
|
| });
|
| return completer.future;
|
| }
|
| @@ -2360,7 +2363,7 @@ class BatchDFEProcess {
|
| _port = -1;
|
| _process = await io.Process.start(executable, arguments);
|
| _process.exitCode.then(_onExit);
|
| - _process.stderr.drain();
|
| + _process.stderr.transform(UTF8.decoder).listen(DebugLogger.error);
|
|
|
| final readyMsg = await _firstLine(_process.stdout);
|
| final data = readyMsg.split(' ');
|
|
|