| OLD | NEW |
| 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"); |
| 11 #import("dart:isolate"); | 11 #import("dart:isolate"); |
| 12 #source("testing_server.dart"); | 12 #source("testing_server.dart"); |
| 13 | 13 |
| 14 // Helper method to be able to run the test from the runtime | 14 // Helper method to be able to run the test from the runtime |
| 15 // directory, or the top directory. | 15 // directory, or the top directory. |
| 16 String getDataFilename(String path) => | 16 String getDataFilename(String path) => |
| 17 new File(path).existsSync() ? path : '../' + path; | 17 new File(path).existsSync() ? path : '../$path'; |
| 18 | 18 |
| 19 | 19 |
| 20 bool compareFileContent(String fileName1, | 20 bool compareFileContent(String fileName1, |
| 21 String fileName2, | 21 String fileName2, |
| 22 [int file1Offset = 0, | 22 [int file1Offset = 0, |
| 23 int file2Offset = 0, | 23 int file2Offset = 0, |
| 24 int count]) { | 24 int count]) { |
| 25 var file1 = new File(fileName1).openSync(); | 25 var file1 = new File(fileName1).openSync(); |
| 26 var file2 = new File(fileName2).openSync(); | 26 var file2 = new File(fileName2).openSync(); |
| 27 var length1 = file1.lengthSync(); | 27 var length1 = file1.lengthSync(); |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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('').createTempSync(); | 88 var tempDir = new Directory('').createTempSync(); |
| 89 var dstFileName = tempDir.path + "/readline_test1.dat"; | 89 var dstFileName = tempDir.path.concat("/readline_test1.dat"); |
| 90 var dstFile = new File(dstFileName); | 90 var dstFile = new File(dstFileName); |
| 91 dstFile.createSync(); | 91 dstFile.createSync(); |
| 92 var fileOutput = dstFile.openOutputStream(); | 92 var fileOutput = dstFile.openOutputStream(); |
| 93 | 93 |
| 94 socketInput.onClosed = () { | 94 socketInput.onClosed = () { |
| 95 // Check that the resulting file is equal to the initial | 95 // Check that the resulting file is equal to the initial |
| 96 // file. | 96 // file. |
| 97 fileOutput.onClosed = () { | 97 fileOutput.onClosed = () { |
| 98 bool result = compareFileContent(srcFileName, dstFileName); | 98 bool result = compareFileContent(srcFileName, dstFileName); |
| 99 new File(dstFileName).deleteSync(); | 99 new File(dstFileName).deleteSync(); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 // Force test to timeout if one of the handlers is | 163 // Force test to timeout if one of the handlers is |
| 164 // not called. | 164 // not called. |
| 165 ReceivePort donePort = new ReceivePort(); | 165 ReceivePort donePort = new ReceivePort(); |
| 166 donePort.receive((message, ignore) { donePort.close(); }); | 166 donePort.receive((message, ignore) { donePort.close(); }); |
| 167 | 167 |
| 168 String srcFileName = | 168 String srcFileName = |
| 169 getDataFilename("tests/standalone/io/readline_test1.dat"); | 169 getDataFilename("tests/standalone/io/readline_test1.dat"); |
| 170 var srcStream = new File(srcFileName).openInputStream(); | 170 var srcStream = new File(srcFileName).openInputStream(); |
| 171 | 171 |
| 172 var tempDir = new Directory('').createTempSync(); | 172 var tempDir = new Directory('').createTempSync(); |
| 173 String dstFileName = tempDir.path + "/readline_test1.dat"; | 173 String dstFileName = tempDir.path.concat("/readline_test1.dat"); |
| 174 new File(dstFileName).createSync(); | 174 new File(dstFileName).createSync(); |
| 175 var dstStream = new File(dstFileName).openOutputStream(); | 175 var dstStream = new File(dstFileName).openOutputStream(); |
| 176 | 176 |
| 177 dstStream.onClosed = () { | 177 dstStream.onClosed = () { |
| 178 bool result = compareFileContent(srcFileName, dstFileName); | 178 bool result = compareFileContent(srcFileName, dstFileName); |
| 179 new File(dstFileName).deleteSync(); | 179 new File(dstFileName).deleteSync(); |
| 180 tempDir.deleteSync(); | 180 tempDir.deleteSync(); |
| 181 Expect.isTrue(result); | 181 Expect.isTrue(result); |
| 182 donePort.toSendPort().send(null); | 182 donePort.toSendPort().send(null); |
| 183 }; | 183 }; |
| 184 | 184 |
| 185 srcStream.pipe(dstStream); | 185 srcStream.pipe(dstStream); |
| 186 } | 186 } |
| 187 | 187 |
| 188 | 188 |
| 189 // 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 |
| 190 // the output stream after piping finished. | 190 // the output stream after piping finished. |
| 191 testFileToFilePipe2() { | 191 testFileToFilePipe2() { |
| 192 // Force test to timeout if one of the handlers is | 192 // Force test to timeout if one of the handlers is |
| 193 // not called. | 193 // not called. |
| 194 ReceivePort donePort = new ReceivePort(); | 194 ReceivePort donePort = new ReceivePort(); |
| 195 donePort.receive((message, ignore) { donePort.close(); }); | 195 donePort.receive((message, ignore) { donePort.close(); }); |
| 196 | 196 |
| 197 String srcFileName = | 197 String srcFileName = |
| 198 getDataFilename("tests/standalone/io/readline_test1.dat"); | 198 getDataFilename("tests/standalone/io/readline_test1.dat"); |
| 199 var srcFile = new File(srcFileName); | 199 var srcFile = new File(srcFileName); |
| 200 var srcStream = srcFile.openInputStream(); | 200 var srcStream = srcFile.openInputStream(); |
| 201 | 201 |
| 202 var tempDir = new Directory('').createTempSync(); | 202 var tempDir = new Directory('').createTempSync(); |
| 203 var dstFileName = tempDir.path + "/readline_test1.dat"; | 203 var dstFileName = tempDir.path.concat("/readline_test1.dat"); |
| 204 var dstFile = new File(dstFileName); | 204 var dstFile = new File(dstFileName); |
| 205 dstFile.createSync(); | 205 dstFile.createSync(); |
| 206 var dstStream = dstFile.openOutputStream(); | 206 var dstStream = dstFile.openOutputStream(); |
| 207 | 207 |
| 208 srcStream.onClosed = () { | 208 srcStream.onClosed = () { |
| 209 dstStream.write([32]); | 209 dstStream.write([32]); |
| 210 dstStream.close(); | 210 dstStream.close(); |
| 211 dstStream.onClosed = () { | 211 dstStream.onClosed = () { |
| 212 var src = srcFile.openSync(); | 212 var src = srcFile.openSync(); |
| 213 var dst = dstFile.openSync(); | 213 var dst = dstFile.openSync(); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 239 // not called. | 239 // not called. |
| 240 ReceivePort donePort = new ReceivePort(); | 240 ReceivePort donePort = new ReceivePort(); |
| 241 donePort.receive((message, ignore) { donePort.close(); }); | 241 donePort.receive((message, ignore) { donePort.close(); }); |
| 242 | 242 |
| 243 String srcFileName = | 243 String srcFileName = |
| 244 getDataFilename("tests/standalone/io/readline_test1.dat"); | 244 getDataFilename("tests/standalone/io/readline_test1.dat"); |
| 245 var srcFile = new File(srcFileName); | 245 var srcFile = new File(srcFileName); |
| 246 var srcStream = srcFile.openInputStream(); | 246 var srcStream = srcFile.openInputStream(); |
| 247 | 247 |
| 248 var tempDir = new Directory('').createTempSync(); | 248 var tempDir = new Directory('').createTempSync(); |
| 249 var dstFileName = tempDir.path + "/readline_test1.dat"; | 249 var dstFileName = tempDir.path.concat("/readline_test1.dat"); |
| 250 var dstFile = new File(dstFileName); | 250 var dstFile = new File(dstFileName); |
| 251 dstFile.createSync(); | 251 dstFile.createSync(); |
| 252 var dstStream = dstFile.openOutputStream(); | 252 var dstStream = dstFile.openOutputStream(); |
| 253 | 253 |
| 254 srcStream.onClosed = () { | 254 srcStream.onClosed = () { |
| 255 var srcStream2 = srcFile.openInputStream(); | 255 var srcStream2 = srcFile.openInputStream(); |
| 256 | 256 |
| 257 dstStream.onClosed = () { | 257 dstStream.onClosed = () { |
| 258 var src = srcFile.openSync(); | 258 var src = srcFile.openSync(); |
| 259 var dst = dstFile.openSync(); | 259 var dst = dstFile.openSync(); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 281 srcStream.pipe(dstStream, close: false); | 281 srcStream.pipe(dstStream, close: false); |
| 282 } | 282 } |
| 283 | 283 |
| 284 | 284 |
| 285 main() { | 285 main() { |
| 286 testFileToFilePipe1(); | 286 testFileToFilePipe1(); |
| 287 testFileToFilePipe2(); | 287 testFileToFilePipe2(); |
| 288 testFileToFilePipe3(); | 288 testFileToFilePipe3(); |
| 289 PipeServerGame echoServerGame = new PipeServerGame.start(); | 289 PipeServerGame echoServerGame = new PipeServerGame.start(); |
| 290 } | 290 } |
| OLD | NEW |