Chromium Code Reviews| Index: tools/testing/dart/test_runner.dart |
| diff --git a/tools/testing/dart/test_runner.dart b/tools/testing/dart/test_runner.dart |
| index 8402519cfb423e29fe4e3f677e05bcfd43daa3c2..6f5acf60913e5a708242f1987ebc481e3a0cc3b8 100644 |
| --- a/tools/testing/dart/test_runner.dart |
| +++ b/tools/testing/dart/test_runner.dart |
| @@ -1827,9 +1827,13 @@ class RunningProcess { |
| List<String> diagnostics = <String>[]; |
| bool compilationSkipped = false; |
| Completer<CommandOutput> completer; |
| + Map configuration; |
|
zra
2017/02/06 21:56:41
<String, String> ?
Florian Schneider
2017/02/06 22:31:46
Not sure. Existing code uses a plain Map, so I'd r
|
| List<String> preArguments; |
| - RunningProcess(this.command, this.timeout, {this.preArguments}); |
| + RunningProcess(this.command, |
| + this.timeout, |
| + {this.configuration, |
| + this.preArguments}); |
| Future<CommandOutput> run() { |
| completer = new Completer<CommandOutput>(); |
| @@ -1908,7 +1912,11 @@ class RunningProcess { |
| executable = '/usr/bin/sample'; |
| arguments = ['${process.pid}', '1', '4000', '-mayDie']; |
| } else if (io.Platform.isWindows) { |
| - executable = "cdb.exe"; |
| + bool is_x64 = command.executable.contains("X64") || |
| + command.executable.contains("SIMARM64"); |
| + executable = configuration['win_sdk_path'] + |
| + "\\Debuggers\\" + (is_x64 ? "x64" : "x86") + "\\cdb.exe"; |
| + diagnostics.add("Found cdb in $executable"); |
| arguments = ['-p', '${process.pid}', '-c', '!uniqstack;qd']; |
| } |
| @@ -2709,14 +2717,17 @@ class CommandExecutorImpl implements CommandExecutor { |
| } else if (command is VmCommand && command.needsDFERunner) { |
| final runner = _getDFEProcess(); |
| return runner.acquire().then((port) { |
| - return new RunningProcess(command, timeout, preArguments: ['-DDFE_WORKER_PORT=${port}']).run(); |
| + return new RunningProcess(command, timeout, |
| + configuration: globalConfiguration, |
| + preArguments: ['-DDFE_WORKER_PORT=${port}']).run(); |
| }).whenComplete(() => runner.release()); |
| } else if (command is VmBatchCommand) { |
| var name = command.displayName; |
| return _getBatchRunner(command.displayName + command.dartFile) |
| .runCommand(name, command, timeout, command.arguments); |
| } else { |
| - return new RunningProcess(command, timeout).run(); |
| + return new RunningProcess( |
| + command, timeout, configuration: globalConfiguration).run(); |
| } |
| } |