| Index: lib/src/runner/browser/server.dart
|
| diff --git a/lib/src/runner/browser/server.dart b/lib/src/runner/browser/server.dart
|
| index fcfea2fdb2b846b237d60e591365b8be77954b90..6c1d52d0e038d8a64c85af0e25ba6ff3f16441a2 100644
|
| --- a/lib/src/runner/browser/server.dart
|
| +++ b/lib/src/runner/browser/server.dart
|
| @@ -250,7 +250,15 @@ void main() {
|
| return _browserManagerFor(browser).then((browserManager) {
|
| if (_closed) return null;
|
| return browserManager.loadSuite(path, suiteUrl);
|
| - }).then((suite) => suite.change(platform: browser.name));
|
| + }).then((suite) {
|
| + if (_closed) return null;
|
| + if (suite != null) return suite.change(platform: browser.name);
|
| +
|
| + // If the browser manager fails to load a suite and the server isn't
|
| + // closed, it's probably because the browser failed. We emit the failure
|
| + // here to ensure that it gets surfaced.
|
| + return _browsers[browser].onExit;
|
| + });
|
| });
|
| }
|
|
|
|
|