Only complete the web socket future once (#9176)

diff --git a/packages/flutter_tools/lib/src/test/flutter_platform.dart b/packages/flutter_tools/lib/src/test/flutter_platform.dart
index 2346279..219fed0 100644
--- a/packages/flutter_tools/lib/src/test/flutter_platform.dart
+++ b/packages/flutter_tools/lib/src/test/flutter_platform.dart
@@ -143,7 +143,8 @@
       final Completer<WebSocket> webSocket = new Completer<WebSocket>();
       server.listen(
         (HttpRequest request) {
-          webSocket.complete(WebSocketTransformer.upgrade(request));
+          if (!webSocket.isCompleted)
+            webSocket.complete(WebSocketTransformer.upgrade(request));
         },
         onError: (dynamic error, dynamic stack) {
           // If you reach here, it's unlikely we're going to be able to really handle this well.