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 // Process test program to test process communication. | 5 // Process test program to test process communication. |
6 // | 6 // |
7 // VMOptions= | 7 // VMOptions= |
8 // VMOptions=--short_socket_read | 8 // VMOptions=--short_socket_read |
9 // VMOptions=--short_socket_write | 9 // VMOptions=--short_socket_write |
10 // VMOptions=--short_socket_read --short_socket_write | 10 // VMOptions=--short_socket_read --short_socket_write |
11 | 11 |
12 import "package:expect/expect.dart"; | |
13 import 'dart:async'; | 12 import 'dart:async'; |
14 import 'dart:io'; | 13 import 'dart:io'; |
15 import 'dart:math'; | 14 import 'dart:math'; |
16 | 15 |
17 import "process_test_util.dart"; | 16 import "process_test_util.dart"; |
18 | 17 |
19 void test(Future<Process> future, int expectedExitCode) { | 18 void test(Future<Process> future, int expectedExitCode) { |
20 future.then((process) { | 19 future.then((process) { |
21 process.exitCode.then((exitCode) { | 20 process.exitCode.then((exitCode) { |
22 Expect.equals(expectedExitCode, exitCode); | 21 Expect.equals(expectedExitCode, exitCode); |
23 }); | 22 }); |
24 | 23 |
25 process.stdout.listen((_) {}); | 24 process.stdout.listen((_) {}); |
26 process.stderr.listen((_) {}); | 25 process.stderr.listen((_) {}); |
27 process.stdin.writeln("Line1"); | 26 process.stdin.writeln("Line1"); |
28 }); | 27 }); |
29 } | 28 } |
30 | 29 |
31 main() { | 30 main() { |
32 var scriptName = "process_stdin_transform_unsubscribe_script.dart"; | 31 var scriptName = "process_stdin_transform_unsubscribe_script.dart"; |
33 var scriptFile = new File("tests/standalone/io/$scriptName"); | 32 var scriptFile = new File("tests/standalone/io/$scriptName"); |
34 if (!scriptFile.existsSync()) { | 33 if (!scriptFile.existsSync()) { |
35 scriptFile = new File("../tests/standalone/io/$scriptName"); | 34 scriptFile = new File("../tests/standalone/io/$scriptName"); |
36 } | 35 } |
37 Expect.isTrue(scriptFile.existsSync()); | 36 Expect.isTrue(scriptFile.existsSync()); |
38 test(Process.start(new Options().executable, [scriptFile.path]), 0); | 37 test(Process.start(new Options().executable, [scriptFile.path]), 0); |
39 } | 38 } |
OLD | NEW |