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

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

Issue 201993002: Fix SecureSocket tests to look up localhost only once, where possible. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Remove useless change to https_client_certificate_test.dart Created 6 years, 9 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 | Annotate | Revision Log
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 // VMOptions= 5 // VMOptions=
6 // VMOptions=--short_socket_read 6 // VMOptions=--short_socket_read
7 // VMOptions=--short_socket_write 7 // VMOptions=--short_socket_write
8 // VMOptions=--short_socket_read --short_socket_write 8 // VMOptions=--short_socket_read --short_socket_write
9 9
10 import "package:expect/expect.dart";
11 import "package:path/path.dart";
12 import "dart:async"; 10 import "dart:async";
13 import "dart:io"; 11 import "dart:io";
14 import "dart:isolate";
15 12
16 const HOST_NAME = "localhost"; 13 import "package:async_helper/async_helper.dart";
14 import "package:expect/expect.dart";
15
16 InternetAddress HOST;
17 const CERTIFICATE = "localhost_cert"; 17 const CERTIFICATE = "localhost_cert";
18 Future<SecureServerSocket> startEchoServer() { 18 Future<SecureServerSocket> startEchoServer() {
19 return SecureServerSocket.bind(HOST_NAME, 19 return SecureServerSocket.bind(HOST,
20 0, 20 0,
21 CERTIFICATE).then((server) { 21 CERTIFICATE).then((server) {
22 server.listen((SecureSocket client) { 22 server.listen((SecureSocket client) {
23 client.fold(<int>[], (message, data) => message..addAll(data)) 23 client.fold(<int>[], (message, data) => message..addAll(data))
24 .then((message) { 24 .then((message) {
25 client.add(message); 25 client.add(message);
26 client.close(); 26 client.close();
27 }); 27 });
28 }); 28 });
29 return server; 29 return server;
30 }); 30 });
31 } 31 }
32 32
33 Future testClient(server) { 33 Future testClient(server) {
34 return SecureSocket.connect(HOST_NAME, server.port).then((socket) { 34 return SecureSocket.connect(HOST, server.port).then((socket) {
35 socket.write("Hello server."); 35 socket.write("Hello server.");
36 socket.close(); 36 socket.close();
37 return socket.fold(<int>[], (message, data) => message..addAll(data)) 37 return socket.fold(<int>[], (message, data) => message..addAll(data))
38 .then((message) { 38 .then((message) {
39 Expect.listEquals("Hello server.".codeUnits, message); 39 Expect.listEquals("Hello server.".codeUnits, message);
40 return server; 40 return server;
41 }); 41 });
42 }); 42 });
43 } 43 }
44 44
45 void main() { 45 void main() {
46 asyncStart();
46 String certificateDatabase = Platform.script.resolve('pkcert').toFilePath(); 47 String certificateDatabase = Platform.script.resolve('pkcert').toFilePath();
47 SecureSocket.initialize(database: certificateDatabase, 48 SecureSocket.initialize(database: certificateDatabase,
48 password: 'dartdart'); 49 password: 'dartdart');
49 50 InternetAddress.lookup("localhost").then((hosts) => HOST = hosts.first )
50 startEchoServer() 51 .then((_) => startEchoServer())
51 .then(testClient) 52 .then(testClient)
52 .then((server) { 53 .then((server) => server.close())
53 server.close(); 54 .then((_) => asyncEnd());
54 });
55 } 55 }
OLDNEW
« no previous file with comments | « tests/standalone/io/secure_client_raw_server_test.dart ('k') | tests/standalone/io/secure_multiple_client_server_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698