| 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 errors during startup of the process. | 5 // Process test program to errors during startup of the process. |
| 6 | 6 |
| 7 #import("dart:io"); | 7 #import("dart:io"); |
| 8 | 8 |
| 9 testStartError() { | 9 testStartError() { |
| 10 Process process = Process.start("__path_to_something_that_should_not_exist__", | 10 Future<Process> processFuture = |
| 11 const []); | 11 Process.start("__path_to_something_that_should_not_exist__", |
| 12 | 12 const []); |
| 13 process.onExit = (int exitCode) { | 13 processFuture.then((p) => Expect.fail('got process despite start error')); |
| 14 Expect.fail("exit handler called"); | 14 processFuture.handleException((e) { |
| 15 }; | 15 Expect.isTrue(e is ProcessException); |
| 16 | |
| 17 process.onError = (ProcessException e) { | |
| 18 Expect.equals(2, e.errorCode, e.toString()); | 16 Expect.equals(2, e.errorCode, e.toString()); |
| 19 }; | 17 return true; |
| 18 }); |
| 20 } | 19 } |
| 21 | 20 |
| 22 | |
| 23 testRunError() { | 21 testRunError() { |
| 24 Future<ProcessResult> processFuture = | 22 Future<ProcessResult> processFuture = |
| 25 Process.run("__path_to_something_that_should_not_exist__", | 23 Process.run("__path_to_something_that_should_not_exist__", |
| 26 const []); | 24 const []); |
| 27 | 25 |
| 28 processFuture.then((result) => Expect.fail("exit handler called")); | 26 processFuture.then((result) => Expect.fail("exit handler called")); |
| 29 | 27 |
| 30 processFuture.handleException((e) { | 28 processFuture.handleException((e) { |
| 31 Expect.isTrue(e is ProcessException); | 29 Expect.isTrue(e is ProcessException); |
| 32 Expect.equals(2, e.errorCode, e.toString()); | 30 Expect.equals(2, e.errorCode, e.toString()); |
| 33 return true; | 31 return true; |
| 34 }); | 32 }); |
| 35 } | 33 } |
| 36 | 34 |
| 37 main() { | 35 main() { |
| 38 testStartError(); | 36 testStartError(); |
| 39 testRunError(); | 37 testRunError(); |
| 40 } | 38 } |
| OLD | NEW |