OLD | NEW |
| (Empty) |
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 | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 // | |
5 // Process working directory test. | |
6 | |
7 #library("ProcessWorkingDirectoryTest"); | |
8 #import("dart:io"); | |
9 #source("ProcessTestUtil.dart"); | |
10 | |
11 class ProcessWorkingDirectoryTest { | |
12 static String get fullTestFilePath() { | |
13 // Extract full path, since we run processes from another directory. | |
14 File path = new File(getProcessTestFileName()); | |
15 Expect.isTrue(path.existsSync()); | |
16 return path.fullPathSync(); | |
17 } | |
18 | |
19 static void testValidDirectory() { | |
20 Directory directory = new Directory(""); | |
21 directory.createTempSync(); | |
22 Expect.isTrue(directory.existsSync()); | |
23 | |
24 var options = new ProcessOptions(); | |
25 options.workingDirectory = directory.path; | |
26 Process process = new Process.start(fullTestFilePath, | |
27 const ["0", "0", "99", "0"], | |
28 options); | |
29 | |
30 process.onExit = (int exitCode) { | |
31 Expect.equals(exitCode, 99); | |
32 process.close(); | |
33 directory.deleteSync(); | |
34 }; | |
35 | |
36 process.onError = (error) { | |
37 Expect.fail("error running process $error"); | |
38 directory.deleteSync(); | |
39 }; | |
40 } | |
41 | |
42 static void testInvalidDirectory() { | |
43 Directory directory = new Directory(""); | |
44 directory.createTempSync(); | |
45 Expect.isTrue(directory.existsSync()); | |
46 | |
47 var options = new ProcessOptions(); | |
48 options.workingDirectory = directory.path + "/subPath"; | |
49 Process process = new Process.start(fullTestFilePath, | |
50 const ["0", "0", "99", "0"], | |
51 options); | |
52 | |
53 process.onExit = (int exitCode) { | |
54 Expect.fail("bad process completed"); | |
55 process.close(); | |
56 directory.deleteSync(); | |
57 }; | |
58 | |
59 process.onError = (error) { | |
60 Expect.isNotNull(error); | |
61 directory.deleteSync(); | |
62 }; | |
63 } | |
64 } | |
65 | |
66 | |
67 | |
68 main() { | |
69 ProcessWorkingDirectoryTest.testValidDirectory(); | |
70 ProcessWorkingDirectoryTest.testInvalidDirectory(); | |
71 } | |
OLD | NEW |