Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(467)

Unified Diff: tests/standalone/src/ProcessWorkingDirectoryTest.dart

Issue 9108008: Add optional workingDirectory argument to Process.start. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 8 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/bin/process_win.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/standalone/src/ProcessWorkingDirectoryTest.dart
===================================================================
--- tests/standalone/src/ProcessWorkingDirectoryTest.dart (revision 0)
+++ tests/standalone/src/ProcessWorkingDirectoryTest.dart (revision 0)
@@ -0,0 +1,68 @@
+// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+//
+// Process working directory test.
+
+#library("ProcessWorkingDirectoryTest");
+#source("ProcessTestUtil.dart");
+
+class ProcessWorkingDirectoryTest {
+ static String get fullTestFilePath() {
+ // Extract full path, since we run processes from another directory.
+ File path = new File(getProcessTestFileName());
+ Expect.isTrue(path.existsSync());
+ return path.fullPathSync();
+ }
+
+ static void testValidDirectory() {
+ Directory directory = new Directory("");
+ directory.createTempSync();
+ Expect.isTrue(directory.existsSync());
+
+ print(fullTestFilePath);
Mads Ager (google) 2012/01/05 10:09:21 Please remove this debug print.
+
+ Process process = new Process.start(fullTestFilePath,
+ const ["0", "0", "99", "0"],
+ directory.path);
+
+ process.exitHandler = (int exitCode) {
+ Expect.equals(exitCode, 99);
+ process.close();
+ directory.deleteSync();
+ };
+
+ process.errorHandler = (error) {
+ Expect.fail("error running process $error");
+ directory.deleteSync();
+ };
+ }
+
+ static void testInvalidDirectory() {
+ Directory directory = new Directory("");
+ directory.createTempSync();
+ Expect.isTrue(directory.existsSync());
+
+ Process process = new Process.start(fullTestFilePath,
+ const ["0", "0", "99", "0"],
+ directory.path + "/subPath");
+
+ process.exitHandler = (int exitCode) {
+ Expect.fail("bad process completed");
+ process.close();
+ directory.deleteSync();
+ };
+
+ process.errorHandler = (error) {
+ Expect.isNotNull(error);
+ directory.deleteSync();
+ };
+ }
+}
+
+
+
+main() {
+ ProcessWorkingDirectoryTest.testValidDirectory();
+ ProcessWorkingDirectoryTest.testInvalidDirectory();
+}
« no previous file with comments | « runtime/bin/process_win.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698