| Index: tests/standalone/io/http_close_test.dart
|
| diff --git a/tests/standalone/io/http_close_test.dart b/tests/standalone/io/http_close_test.dart
|
| index 58d6dd1300cb2581acf6bac1e6ea038a910fce72..f882856df18134fc6016b0d811ef585c0a6ecc5b 100644
|
| --- a/tests/standalone/io/http_close_test.dart
|
| +++ b/tests/standalone/io/http_close_test.dart
|
| @@ -70,10 +70,21 @@ void testClientCloseServerListen(int connections) {
|
|
|
| void testClientCloseDelayed(int connections) {
|
| HttpServer.bind().then((server) {
|
| + int closed = 0;
|
| + void check() {
|
| + closed++;
|
| + // Wait for both server and client to see the connections as closed.
|
| + if (closed == connections * 2) {
|
| + Expect.equals(0, server.connectionsInfo().active);
|
| + Expect.equals(server.connectionsInfo().total,
|
| + server.connectionsInfo().idle);
|
| + server.close();
|
| + }
|
| + }
|
| server.listen((request) {
|
| - request.pipe(request.response);
|
| + request.pipe(request.response)
|
| + .then((_) => check());
|
| });
|
| - int closed = 0;
|
| var client = new HttpClient();
|
| for (int i = 0; i < connections; i++) {
|
| var req;
|
| @@ -90,13 +101,7 @@ void testClientCloseDelayed(int connections) {
|
| response.listen(
|
| (_) {},
|
| onDone: () {
|
| - closed++;
|
| - if (closed == connections) {
|
| - Expect.equals(0, server.connectionsInfo().active);
|
| - Expect.equals(server.connectionsInfo().total,
|
| - server.connectionsInfo().idle);
|
| - server.close();
|
| - }
|
| + check();
|
| });
|
| });
|
| }
|
|
|