Files
sdk/tests/standalone_2/io/process_check_arguments_test.dart
T
Alexander Markov f5c16512cc [Tests] Pass VM options (Platform.executableArguments) to sub-processes
When testing runs with certain set of VM options and tests launch
new Dart processes, VM options should be also forwarded to child
processes.

Change-Id: I7207fe87672cd61fd50d7ac77ef1da67744af183
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97169
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-03-18 23:20:41 +00:00

40 lines
1.4 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.
import "package:expect/expect.dart";
import "dart:io";
import "process_test_util.dart";
test(args) {
var future = Process.start(Platform.executable,
[]..addAll(Platform.executableArguments)..addAll(args));
future.then((process) {
process.exitCode.then((exitCode) {
Expect.equals(0, exitCode);
});
// Drain stdout and stderr.
process.stdout.listen((_) {});
process.stderr.listen((_) {});
});
}
main() {
// Get the Dart script file which checks arguments.
var scriptFile =
new File("tests/standalone_2/io/process_check_arguments_script.dart");
if (!scriptFile.existsSync()) {
scriptFile = new File(
"../tests/standalone_2/io/process_check_arguments_script.dart");
}
test([scriptFile.path, '3', '0', 'a']);
test([scriptFile.path, '3', '0', 'a b']);
test([scriptFile.path, '3', '0', 'a\tb']);
test([scriptFile.path, '3', '1', 'a\tb"']);
test([scriptFile.path, '3', '1', 'a"\tb']);
test([scriptFile.path, '3', '1', 'a"\t\\\\"b"']);
test([scriptFile.path, '4', '0', 'a\tb', 'a']);
test([scriptFile.path, '4', '0', 'a\tb', 'a\t\t\t\tb']);
test([scriptFile.path, '4', '0', 'a\tb', 'a b']);
}