Index: lib/src/runner/browser/browser_manager.dart |
diff --git a/lib/src/runner/browser/browser_manager.dart b/lib/src/runner/browser/browser_manager.dart |
index 70e72adb177e440885c52acdce1df6cd029fb554..d03bd66ef3d0623cdb94ed590340e6ea306922ec 100644 |
--- a/lib/src/runner/browser/browser_manager.dart |
+++ b/lib/src/runner/browser/browser_manager.dart |
@@ -78,8 +78,18 @@ class BrowserManager { |
// wrapped within the host's channel. |
suiteChannel = new MultiChannel(suiteChannel.stream, suiteChannel.sink); |
- return maybeFirst(suiteChannel.stream) |
- .timeout(new Duration(seconds: 15), onTimeout: () { |
+ var completer = new Completer(); |
+ suiteChannel.stream.listen((response) { |
+ if (response["type"] == "print") { |
+ print(response["line"]); |
+ } else { |
+ completer.complete(response); |
+ } |
+ }, onDone: () { |
+ if (!completer.isCompleted) completer.complete(); |
+ }); |
+ |
+ return completer.future.timeout(new Duration(seconds: 15), onTimeout: () { |
throw new LoadException( |
path, |
"Timed out waiting for the test suite to connect on " |