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

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

Issue 10392023: Change dart:io to use Future for one-shot operations. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Adding stable test binaries Created 8 years, 7 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
« no previous file with comments | « tests/standalone/io/process_working_directory_test.dart ('k') | tools/testing/bin/linux/dart » ('j') | 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) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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("dart:io"); 10 #import("dart:io");
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 78
79 void connectHandler() { 79 void connectHandler() {
80 String srcFileName = 80 String srcFileName =
81 getDataFilename("tests/standalone/io/readline_test1.dat"); 81 getDataFilename("tests/standalone/io/readline_test1.dat");
82 82
83 SocketOutputStream socketOutput = _socket.outputStream; 83 SocketOutputStream socketOutput = _socket.outputStream;
84 InputStream fileInput = new File(srcFileName).openInputStream(); 84 InputStream fileInput = new File(srcFileName).openInputStream();
85 85
86 fileInput.onClosed = () { 86 fileInput.onClosed = () {
87 SocketInputStream socketInput = _socket.inputStream; 87 SocketInputStream socketInput = _socket.inputStream;
88 var tempDir = new Directory(''); 88 var tempDir = new Directory('').createTempSync();
89 tempDir.createTempSync();
90 var dstFileName = tempDir.path + "/readline_test1.dat"; 89 var dstFileName = tempDir.path + "/readline_test1.dat";
91 var dstFile = new File(dstFileName); 90 var dstFile = new File(dstFileName);
92 dstFile.createSync(); 91 dstFile.createSync();
93 var fileOutput = dstFile.openOutputStream(); 92 var fileOutput = dstFile.openOutputStream();
94 93
95 socketInput.onClosed = () { 94 socketInput.onClosed = () {
96 // Check that the resulting file is equal to the initial 95 // Check that the resulting file is equal to the initial
97 // file. 96 // file.
98 fileOutput.onClosed = () { 97 fileOutput.onClosed = () {
99 bool result = compareFileContent(srcFileName, dstFileName); 98 bool result = compareFileContent(srcFileName, dstFileName);
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 testFileToFilePipe1() { 162 testFileToFilePipe1() {
164 // Force test to timeout if one of the handlers is 163 // Force test to timeout if one of the handlers is
165 // not called. 164 // not called.
166 ReceivePort donePort = new ReceivePort(); 165 ReceivePort donePort = new ReceivePort();
167 donePort.receive((message, ignore) { donePort.close(); }); 166 donePort.receive((message, ignore) { donePort.close(); });
168 167
169 String srcFileName = 168 String srcFileName =
170 getDataFilename("tests/standalone/io/readline_test1.dat"); 169 getDataFilename("tests/standalone/io/readline_test1.dat");
171 var srcStream = new File(srcFileName).openInputStream(); 170 var srcStream = new File(srcFileName).openInputStream();
172 171
173 var tempDir = new Directory(''); 172 var tempDir = new Directory('').createTempSync();
174 tempDir.createTempSync();
175 String dstFileName = tempDir.path + "/readline_test1.dat"; 173 String dstFileName = tempDir.path + "/readline_test1.dat";
176 new File(dstFileName).createSync(); 174 new File(dstFileName).createSync();
177 var dstStream = new File(dstFileName).openOutputStream(); 175 var dstStream = new File(dstFileName).openOutputStream();
178 176
179 dstStream.onClosed = () { 177 dstStream.onClosed = () {
180 bool result = compareFileContent(srcFileName, dstFileName); 178 bool result = compareFileContent(srcFileName, dstFileName);
181 new File(dstFileName).deleteSync(); 179 new File(dstFileName).deleteSync();
182 tempDir.deleteSync(); 180 tempDir.deleteSync();
183 Expect.isTrue(result); 181 Expect.isTrue(result);
184 donePort.toSendPort().send(null); 182 donePort.toSendPort().send(null);
185 }; 183 };
186 184
187 srcStream.pipe(dstStream); 185 srcStream.pipe(dstStream);
188 } 186 }
189 187
190 188
191 // Test piping from one file to another and write additional data to 189 // Test piping from one file to another and write additional data to
192 // the output stream after piping finished. 190 // the output stream after piping finished.
193 testFileToFilePipe2() { 191 testFileToFilePipe2() {
194 // Force test to timeout if one of the handlers is 192 // Force test to timeout if one of the handlers is
195 // not called. 193 // not called.
196 ReceivePort donePort = new ReceivePort(); 194 ReceivePort donePort = new ReceivePort();
197 donePort.receive((message, ignore) { donePort.close(); }); 195 donePort.receive((message, ignore) { donePort.close(); });
198 196
199 String srcFileName = 197 String srcFileName =
200 getDataFilename("tests/standalone/io/readline_test1.dat"); 198 getDataFilename("tests/standalone/io/readline_test1.dat");
201 var srcFile = new File(srcFileName); 199 var srcFile = new File(srcFileName);
202 var srcStream = srcFile.openInputStream(); 200 var srcStream = srcFile.openInputStream();
203 201
204 var tempDir = new Directory(''); 202 var tempDir = new Directory('').createTempSync();
205 tempDir.createTempSync();
206 var dstFileName = tempDir.path + "/readline_test1.dat"; 203 var dstFileName = tempDir.path + "/readline_test1.dat";
207 var dstFile = new File(dstFileName); 204 var dstFile = new File(dstFileName);
208 dstFile.createSync(); 205 dstFile.createSync();
209 var dstStream = dstFile.openOutputStream(); 206 var dstStream = dstFile.openOutputStream();
210 207
211 srcStream.onClosed = () { 208 srcStream.onClosed = () {
212 dstStream.write([32]); 209 dstStream.write([32]);
213 dstStream.close(); 210 dstStream.close();
214 dstStream.onClosed = () { 211 dstStream.onClosed = () {
215 var src = srcFile.openSync(); 212 var src = srcFile.openSync();
(...skipping 25 matching lines...) Expand all
241 // Force test to timeout if one of the handlers is 238 // Force test to timeout if one of the handlers is
242 // not called. 239 // not called.
243 ReceivePort donePort = new ReceivePort(); 240 ReceivePort donePort = new ReceivePort();
244 donePort.receive((message, ignore) { donePort.close(); }); 241 donePort.receive((message, ignore) { donePort.close(); });
245 242
246 String srcFileName = 243 String srcFileName =
247 getDataFilename("tests/standalone/io/readline_test1.dat"); 244 getDataFilename("tests/standalone/io/readline_test1.dat");
248 var srcFile = new File(srcFileName); 245 var srcFile = new File(srcFileName);
249 var srcStream = srcFile.openInputStream(); 246 var srcStream = srcFile.openInputStream();
250 247
251 var tempDir = new Directory(''); 248 var tempDir = new Directory('').createTempSync();
252 tempDir.createTempSync();
253 var dstFileName = tempDir.path + "/readline_test1.dat"; 249 var dstFileName = tempDir.path + "/readline_test1.dat";
254 var dstFile = new File(dstFileName); 250 var dstFile = new File(dstFileName);
255 dstFile.createSync(); 251 dstFile.createSync();
256 var dstStream = dstFile.openOutputStream(); 252 var dstStream = dstFile.openOutputStream();
257 253
258 srcStream.onClosed = () { 254 srcStream.onClosed = () {
259 var srcStream2 = srcFile.openInputStream(); 255 var srcStream2 = srcFile.openInputStream();
260 256
261 dstStream.onClosed = () { 257 dstStream.onClosed = () {
262 var src = srcFile.openSync(); 258 var src = srcFile.openSync();
(...skipping 22 matching lines...) Expand all
285 srcStream.pipe(dstStream, close: false); 281 srcStream.pipe(dstStream, close: false);
286 } 282 }
287 283
288 284
289 main() { 285 main() {
290 testFileToFilePipe1(); 286 testFileToFilePipe1();
291 testFileToFilePipe2(); 287 testFileToFilePipe2();
292 testFileToFilePipe3(); 288 testFileToFilePipe3();
293 PipeServerGame echoServerGame = new PipeServerGame.start(); 289 PipeServerGame echoServerGame = new PipeServerGame.start();
294 } 290 }
OLDNEW
« no previous file with comments | « tests/standalone/io/process_working_directory_test.dart ('k') | tools/testing/bin/linux/dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698