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

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

Issue 2566273007: Fix flaky timeouts of socket_ipv6_test. (Closed)
Patch Set: fix checked mode 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..1abfe99d4a4e0b6c2c9d49be644c6e4fe1c25e8a 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) {
+ return InternetAddress.lookup("::0", type: ANY).then((serverAddr) {
InternetAddress.lookup("::1", type: ANY).then((clientAddr) {
- ServerSocket.bind(serverAddr.first, 0).then((server) {
+ ServerSocket.bind(serverAddr.first, 0).then((server) {
kustermann 2016/12/13 22:22:38 InternetAddress.lookup() ServerSocket.bind() Socke
Florian Schneider 2016/12/13 23:03:19 Ok, but async/await is not needed for correctness.
Expect.equals('::0', server.address.host);
Expect.equals('::', server.address.address);
server.listen((socket) {
@@ -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) {
+ ServerSocket.bind(serverAddr.first, 0).then((server) {
Expect.equals('::0', server.address.host);
Expect.equals('::', server.address.address);
server.listen((socket) {
@@ -47,16 +49,19 @@ void testIPv4toIPv6() {
});
}
-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) {
+ 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) {
+ 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) {
@@ -80,9 +85,9 @@ void testIPv4toIPv4() {
});
}
-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) {
+ ServerSocket.bind(serverAddr.first, 0, v6Only: true).then((server) {
+ server.listen((socket) {
+ throw "Unexpected socket";
+ });
+ Socket.connect("127.0.0.1", server.port).then((socket) {
+ socket.destroy();
+ throw "Unexpected connect";
+ }, onError: (e) {}).whenComplete(() {
+ server.close();
+ asyncEnd();
});
+ });
+ });
}
void main() {
kustermann 2016/12/13 22:22:38 Could use main() async { await test...(); }
Florian Schneider 2016/12/13 23:03:19 Sure, but it seems outside the scope of this CL.
- 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