make local testing better
diff --git a/lib/server/sse_handler.dart b/lib/server/sse_handler.dart
index 9c1f57f..7a5ac0e 100644
--- a/lib/server/sse_handler.dart
+++ b/lib/server/sse_handler.dart
@@ -96,7 +96,7 @@
}
shelf.Response _createSseConnection(shelf.Request req, String path) {
- if (_isClosed) return shelf.Response.notFound('');
+ if (_isClosed) return null;
req.hijack((channel) async {
var sink = utf8.encoder.startChunkedConversion(channel.sink);
sink.add(_sseHeaders(req.headers['origin']));
@@ -115,7 +115,7 @@
_connectionController.add(connection);
});
- return shelf.Response.notFound('');
+ return null;
}
String _getOriginalPath(shelf.Request req) => req.requestedUri.path;
diff --git a/test/sse_test.dart b/test/sse_test.dart
index 63c4b8e..4e1f943 100644
--- a/test/sse_test.dart
+++ b/test/sse_test.dart
@@ -17,6 +17,21 @@
HttpServer server;
WebDriver webdriver;
SseHandler handler;
+ Process chromeDriver;
+
+ setUpAll(() async {
+ try {
+ chromeDriver = await Process.start(
+ 'chromedriver', ['--port=4444', '--url-base=wd/hub']);
+ } catch (e) {
+ throw StateError(
+ 'Could not start ChromeDriver. Is it installed?\nError: $e');
+ }
+ });
+
+ tearDownAll(() {
+ chromeDriver.kill();
+ });
setUp(() async {
handler = SseHandler(Uri.parse('/test'));
diff --git a/tool/travis.sh b/tool/travis.sh
index b9c9c9f..9ebd3d4 100755
--- a/tool/travis.sh
+++ b/tool/travis.sh
@@ -23,10 +23,6 @@
STATUS=$ANALYSIS_STATUS
fi
-# Start chromedriver.
-chromedriver --port=4444 --url-base=wd/hub &
-PIDC=$!
-
# Run tests.
pub run test -r expanded -p vm -j 1
TEST_STATUS=$?