Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(979)

Unified Diff: tests/standalone/io/socket_ipv6_test.dart

Issue 2566273007: Fix flaky timeouts of socket_ipv6_test. (Closed)
Patch Set: last missing return Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tests/standalone/io/test_utils.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/standalone/io/socket_ipv6_test.dart
diff --git a/tests/standalone/io/socket_ipv6_test.dart b/tests/standalone/io/socket_ipv6_test.dart
index 54f8a5018b1ea478065c0653c4e44b94e6f4ffa2..6b919579c6681ce2fd23c7f731cede218a6c903f 100644
--- a/tests/standalone/io/socket_ipv6_test.dart
+++ b/tests/standalone/io/socket_ipv6_test.dart
@@ -3,17 +3,19 @@
// BSD-style license that can be found in the LICENSE file.
import 'dart:io';
+import 'dart:async';
import "package:async_helper/async_helper.dart";
import "package:expect/expect.dart";
+import "test_utils.dart" show retry;
const ANY = InternetAddressType.ANY;
-void testIPv6toIPv6() {
+Future testIPv6toIPv6() {
asyncStart();
- InternetAddress.lookup("::0", type: ANY).then((serverAddr) {
- InternetAddress.lookup("::1", type: ANY).then((clientAddr) {
- ServerSocket.bind(serverAddr.first, 0).then((server) {
+ return InternetAddress.lookup("::0", type: ANY).then((serverAddr) {
+ return InternetAddress.lookup("::1", type: ANY).then((clientAddr) {
+ return ServerSocket.bind(serverAddr.first, 0).then((server) {
Expect.equals('::0', server.address.host);
Expect.equals('::', server.address.address);
server.listen((socket) {
@@ -21,7 +23,7 @@ void testIPv6toIPv6() {
server.close();
asyncEnd();
});
- Socket.connect(clientAddr.first, server.port).then((socket) {
+ return Socket.connect(clientAddr.first, server.port).then((socket) {
socket.destroy();
});
});
@@ -29,10 +31,10 @@ void testIPv6toIPv6() {
});
}
-void testIPv4toIPv6() {
+Future testIPv4toIPv6() {
asyncStart();
- InternetAddress.lookup("::0", type: ANY).then((serverAddr) {
- ServerSocket.bind(serverAddr.first, 0).then((server) {
+ return InternetAddress.lookup("::0", type: ANY).then((serverAddr) {
+ return ServerSocket.bind(serverAddr.first, 0).then((server) {
Expect.equals('::0', server.address.host);
Expect.equals('::', server.address.address);
server.listen((socket) {
@@ -40,23 +42,26 @@ void testIPv4toIPv6() {
server.close();
asyncEnd();
});
- Socket.connect("127.0.0.1", server.port).then((socket) {
+ return Socket.connect("127.0.0.1", server.port).then((socket) {
socket.destroy();
});
});
});
}
-void testIPv6toIPv4() {
+Future testIPv6toIPv4() {
asyncStart();
- InternetAddress.lookup("::1", type: ANY).then((clientAddr) {
- ServerSocket.bind("127.0.0.1", 0).then((server) {
+ return InternetAddress.lookup("::1", type: ANY).then((clientAddr) {
+ return ServerSocket.bind("127.0.0.1", 0).then((server) {
Expect.equals('127.0.0.1', server.address.host);
Expect.equals('127.0.0.1', server.address.address);
server.listen((socket) {
throw "Unexpected socket";
});
- Socket.connect(clientAddr.first, server.port).catchError((e) {
+ return Socket.connect(clientAddr.first, server.port).then((socket) {
+ socket.destroy();
+ throw "Unexpected connect";
+ }, onError: (e) {}).whenComplete(() {
server.close();
asyncEnd();
});
@@ -64,9 +69,9 @@ void testIPv6toIPv4() {
});
}
-void testIPv4toIPv4() {
+Future testIPv4toIPv4() {
asyncStart();
- ServerSocket.bind("127.0.0.1", 0).then((server) {
+ return ServerSocket.bind("127.0.0.1", 0).then((server) {
Expect.equals('127.0.0.1', server.address.host);
Expect.equals('127.0.0.1', server.address.address);
server.listen((socket) {
@@ -74,15 +79,15 @@ void testIPv4toIPv4() {
server.close();
asyncEnd();
});
- Socket.connect("127.0.0.1", server.port).then((socket) {
+ return Socket.connect("127.0.0.1", server.port).then((socket) {
socket.destroy();
});
});
}
-void testIPv6Lookup() {
+Future testIPv6Lookup() {
asyncStart();
- InternetAddress.lookup("::0", type: ANY).then((list) {
+ return InternetAddress.lookup("::0", type: ANY).then((list) {
if (list.length < 0) throw "no address";
for (var entry in list) {
if (entry.type != InternetAddressType.IP_V6) {
@@ -93,9 +98,9 @@ void testIPv6Lookup() {
});
}
-void testIPv4Lookup() {
+Future testIPv4Lookup() {
asyncStart();
- InternetAddress.lookup("127.0.0.1").then((list) {
+ return InternetAddress.lookup("127.0.0.1").then((list) {
if (list.length < 0) throw "no address";
for (var entry in list) {
if (entry.type != InternetAddressType.IP_V4) {
@@ -106,30 +111,31 @@ void testIPv4Lookup() {
});
}
-void testIPv4toIPv6_IPV6Only() {
+Future testIPv4toIPv6_IPV6Only() {
asyncStart();
- InternetAddress.lookup("::0", type: ANY)
- .then((serverAddr) {
- ServerSocket.bind(serverAddr.first, 0, v6Only: true)
- .then((server) {
- server.listen((socket) {
- throw "Unexpected socket";
- });
- Socket.connect("127.0.0.1", server.port).catchError((error) {
- server.close();
- asyncEnd();
- });
- });
+ return InternetAddress.lookup("::0", type: ANY).then((serverAddr) {
+ return ServerSocket.bind(serverAddr.first, 0, v6Only: true).then((server) {
+ server.listen((socket) {
+ throw "Unexpected socket";
});
+ return Socket.connect("127.0.0.1", server.port).then((socket) {
+ socket.destroy();
+ throw "Unexpected connect";
+ }, onError: (e) {}).whenComplete(() {
+ server.close();
+ asyncEnd();
+ });
+ });
+ });
}
void main() {
- testIPv6toIPv6(); /// none: ok
- testIPv4toIPv6(); /// 01: ok
- testIPv6toIPv4(); /// 02: ok
- testIPv4toIPv4(); /// 03: ok
- testIPv6Lookup(); /// 04: ok
- testIPv4Lookup(); /// 05: ok
+ testIPv6toIPv6(); /// 01: ok
+ testIPv4toIPv6(); /// 02: ok
+ testIPv4toIPv4(); /// 03: ok
+ testIPv6Lookup(); /// 04: ok
+ testIPv4Lookup(); /// 05: ok
- testIPv4toIPv6_IPV6Only(); /// 06: ok
+ retry(testIPv6toIPv4); /// 06: ok
+ retry(testIPv4toIPv6_IPV6Only); /// 07: ok
}
« no previous file with comments | « no previous file | tests/standalone/io/test_utils.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698