| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import 'dart:async'; | 5 import 'dart:async'; |
| 6 import 'dart:io'; | 6 import 'dart:io'; |
| 7 import 'dart:convert'; | 7 import 'dart:convert'; |
| 8 | 8 |
| 9 import 'package:async_helper/async_helper.dart'; | 9 import 'package:async_helper/async_helper.dart'; |
| 10 import 'package:expect/expect.dart'; | 10 import 'package:expect/expect.dart'; |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 106 }); | 106 }); |
| 107 | 107 |
| 108 Socket client = await Socket.connect(host, socket2.port); | 108 Socket client = await Socket.connect(host, socket2.port); |
| 109 await client.close(); | 109 await client.close(); |
| 110 await client.drain(); | 110 await client.drain(); |
| 111 | 111 |
| 112 asyncEnd(); | 112 asyncEnd(); |
| 113 } | 113 } |
| 114 | 114 |
| 115 Future<int> freeIPv4AndIPv6Port() async { | 115 Future<int> freeIPv4AndIPv6Port() async { |
| 116 var socket = await ServerSocket.bind(InternetAddress.ANY_IP_V6, 0, v6Only: fal
se); | 116 var socket = |
| 117 await ServerSocket.bind(InternetAddress.ANY_IP_V6, 0, v6Only: false); |
| 117 int port = socket.port; | 118 int port = socket.port; |
| 118 await socket.close(); | 119 await socket.close(); |
| 119 return port; | 120 return port; |
| 120 } | 121 } |
| 121 | 122 |
| 122 void main() async { | 123 main() async { |
| 123 asyncStart(); | 124 asyncStart(); |
| 124 await testBindDifferentAddresses(InternetAddress.ANY_IP_V6, | 125 await testBindDifferentAddresses(InternetAddress.ANY_IP_V6, |
| 125 InternetAddress.ANY_IP_V4, | 126 InternetAddress.ANY_IP_V4, |
| 126 true, | 127 true, |
| 127 false); | 128 false); |
| 128 await testBindDifferentAddresses(InternetAddress.ANY_IP_V4, | 129 await testBindDifferentAddresses(InternetAddress.ANY_IP_V4, |
| 129 InternetAddress.ANY_IP_V6, | 130 InternetAddress.ANY_IP_V6, |
| 130 false, | 131 false, |
| 131 true); | 132 true); |
| 132 | 133 |
| 133 for (var host in ['127.0.0.1', '::1']) { | 134 for (var host in ['127.0.0.1', '::1']) { |
| 134 testBindShared(host, false); | 135 testBindShared(host, false); |
| 135 testBindShared(host, true); | 136 testBindShared(host, true); |
| 136 | 137 |
| 137 negTestBindSharedMismatch(host, false); | 138 negTestBindSharedMismatch(host, false); |
| 138 negTestBindSharedMismatch(host, true); | 139 negTestBindSharedMismatch(host, true); |
| 139 | 140 |
| 140 negTestBindV6OnlyMismatch(host, true); | 141 negTestBindV6OnlyMismatch(host, true); |
| 141 negTestBindV6OnlyMismatch(host, false); | 142 negTestBindV6OnlyMismatch(host, false); |
| 142 | 143 |
| 143 testListenCloseListenClose(host); | 144 testListenCloseListenClose(host); |
| 144 } | 145 } |
| 145 asyncEnd(); | 146 asyncEnd(); |
| 146 } | 147 } |
| OLD | NEW |