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 // Process test program to test process communication. | 5 // Process test program to test process communication. |
6 | 6 |
7 library ProcessKillTest; | 7 library ProcessKillTest; |
8 import "package:expect/expect.dart"; | 8 import "package:expect/expect.dart"; |
9 import "dart:io"; | 9 import "dart:io"; |
10 import "process_test_util.dart"; | 10 import "process_test_util.dart"; |
11 | 11 |
12 testKill() { | 12 testKill() { |
13 // Start a process that will hang waiting for input until killed. | 13 // Start a process that will hang waiting for input until killed. |
14 Process.start(getProcessTestFileName(), const ["0", "1", "0", "0"]).then((p) { | 14 Process.start(getProcessTestFileName(), const ["0", "1", "0", "0"]).then((p) { |
15 p.exitCode.then((exitCode) { | 15 p.exitCode.then((exitCode) { |
16 // Process killed from the side so exit code is not 0. | 16 // Process killed from the side so exit code is not 0. |
17 Expect.isTrue(exitCode != 0); | 17 Expect.isTrue(exitCode != 0); |
18 // Killing a process that is already dead returns false. | 18 // Killing a process that is already dead returns false. |
19 Expect.isFalse(p.kill()); | 19 Expect.isFalse(p.kill()); |
20 }); | 20 }); |
21 Expect.isTrue(p.kill()); | 21 Expect.isTrue(p.kill()); |
22 }); | 22 }); |
23 } | 23 } |
24 | 24 |
25 testKillPid() { | |
26 // Start a process that will hang waiting for input until killed. | |
Lasse Reichstein Nielsen
2015/02/03 14:00:47
You need to add startAsync/endAsync calls, otherwi
Søren Gjesse
2015/02/04 08:16:02
Thanks, done.
| |
27 Process.start(getProcessTestFileName(), const ["0", "1", "0", "0"]).then((p) { | |
28 p.exitCode.then((exitCode) { | |
29 // Process killed from the side so exit code is not 0. | |
30 Expect.isTrue(exitCode != 0); | |
31 // Killing a process that is already dead returns false. | |
32 Expect.isFalse(p.kill()); | |
Lasse Reichstein Nielsen
2015/02/03 14:00:47
Why not Process.killPid(p.pid) ?
Søren Gjesse
2015/02/04 08:16:02
Done.
| |
33 }); | |
34 Expect.isTrue(Process.killPid(p.pid)); | |
35 }); | |
36 } | |
37 | |
25 main() { | 38 main() { |
26 testKill(); | 39 testKill(); |
40 testKillPid(); | |
27 } | 41 } |
OLD | NEW |