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

Side by Side Diff: tests/standalone/io/socket_info_test.dart

Issue 1293533002: DO NOT SUBMIT: Unix domain sockets. From CL 1061283003. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Added Mac OS fix Created 5 years, 4 months 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 unified diff | Download patch
« no previous file with comments | « tests/standalone/io/socket_bind_test.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "package:expect/expect.dart";
6 import "dart:io"; 5 import "dart:io";
7 6
7 import 'package:async_helper/async_helper.dart';
8 import "package:expect/expect.dart";
9
8 void testHostAndPort() { 10 void testHostAndPort() {
11 asyncStart();
9 ServerSocket.bind("127.0.0.1", 0).then((server) { 12 ServerSocket.bind("127.0.0.1", 0).then((server) {
10 13
11 Socket.connect("127.0.0.1", server.port).then((clientSocket) { 14 Socket.connect("127.0.0.1", server.port).then((clientSocket) {
12 server.listen((socket) { 15 server.listen((socket) {
13 Expect.equals(socket.port, server.port); 16 Expect.equals(socket.port, server.port);
14 Expect.equals(clientSocket.port, socket.remotePort); 17 Expect.equals(clientSocket.port, socket.remotePort);
15 Expect.equals(clientSocket.remotePort, socket.port); 18 Expect.equals(clientSocket.remotePort, socket.port);
16 Expect.equals(socket.remoteAddress.address, "127.0.0.1"); 19 Expect.equals(socket.remoteAddress.address, "127.0.0.1");
17 Expect.equals(clientSocket.remoteAddress.address, "127.0.0.1"); 20 Expect.equals(clientSocket.remoteAddress.address, "127.0.0.1");
18 socket.destroy(); 21 socket.destroy();
19 clientSocket.destroy(); 22 clientSocket.destroy();
20 server.close(); 23 server.close();
24 asyncEnd();
21 }); 25 });
22 }); 26 });
23 }); 27 });
24 } 28 }
25 29
30 void withTempDir(String prefix, void test(Directory dir)) async {
31 var tempDir = Directory.systemTemp.createTempSync(prefix);
32 try {
33 await test(tempDir);
34 } finally {
35 tempDir.deleteSync(recursive: true);
36 }
37 }
38
39 Future testHostAndPortUds(Directory dir) async {
40 asyncStart();
41 var address = new UnixDomainAddress('${dir.path}/xxx');
42 var server = await ServerSocket.bind(address, 0);
43 var client = await Socket.connect(address, server.port);
44 server.listen((socket) {
45 Expect.equals(socket.port, 1);
46 Expect.equals(socket.port, server.port);
47 Expect.equals(client.port, socket.remotePort);
48 Expect.equals(client.remotePort, socket.port);
49 Expect.isTrue(socket.remoteAddress is UnixDomainAddress);
50 Expect.equals(socket.remoteAddress.path, '.');
51 Expect.equals(client.remoteAddress.path, address.path);
52 socket.destroy();
53 client.destroy();
54 server.close();
55 asyncEnd();
56 });
57 }
58
26 void main() { 59 void main() {
27 testHostAndPort(); 60 testHostAndPort();
61 if (!Platform.isWindows) {
62 withTempDir('socket_info_test', testHostAndPortUds);
63 }
28 } 64 }
OLDNEW
« no previous file with comments | « tests/standalone/io/socket_bind_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698