3433d8cfc3
The tests are also now dartfmt. Bug: https://github.com/dart-lang/sdk/issues/40040 Change-Id: I8dece8097b37b70d47a5374dae2f3fadb0fc4b90 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134338 Commit-Queue: Jonas Termansen <sortie@google.com> Reviewed-by: Bob Nystrom <rnystrom@google.com>
62 lines
1.9 KiB
Dart
62 lines
1.9 KiB
Dart
// Copyright (c) 2012, 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;
|
|
|
|
import "dart:io";
|
|
import "package:expect/expect.dart";
|
|
import "process_test_util.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.resolveSymbolicLinksSync();
|
|
}
|
|
|
|
static void testValidDirectory() {
|
|
Directory directory =
|
|
Directory.systemTemp.createTempSync('dart_process_working_directory');
|
|
Expect.isTrue(directory.existsSync());
|
|
|
|
Process.start(fullTestFilePath, const ["0", "0", "99", "0"],
|
|
workingDirectory: directory.path)
|
|
.then((process) {
|
|
process.exitCode.then((int exitCode) {
|
|
Expect.equals(exitCode, 99);
|
|
directory.deleteSync();
|
|
});
|
|
process.stdout.listen((_) {});
|
|
process.stderr.listen((_) {});
|
|
}).catchError((error) {
|
|
directory.deleteSync();
|
|
Expect.fail("Couldn't start process");
|
|
});
|
|
}
|
|
|
|
static void testInvalidDirectory() {
|
|
Directory directory =
|
|
Directory.systemTemp.createTempSync('dart_process_working_directory');
|
|
Expect.isTrue(directory.existsSync());
|
|
|
|
Process.start(fullTestFilePath, const ["0", "0", "99", "0"],
|
|
workingDirectory: directory.path + "/subPath")
|
|
.then((process) {
|
|
Expect.fail("bad process completed");
|
|
directory.deleteSync();
|
|
}).catchError((e) {
|
|
Expect.isNotNull(e);
|
|
directory.deleteSync();
|
|
});
|
|
}
|
|
}
|
|
|
|
main() {
|
|
ProcessWorkingDirectoryTest.testValidDirectory();
|
|
ProcessWorkingDirectoryTest.testInvalidDirectory();
|
|
}
|