| Index: tools/testing/dart/test_suite.dart
|
| diff --git a/tools/testing/dart/test_suite.dart b/tools/testing/dart/test_suite.dart
|
| index ea5fdf0dddc785f33f619f92ee43b0c2b13942e4..43faad8f81f6a395dffcd5d1670a7e9bc6ac04dd 100644
|
| --- a/tools/testing/dart/test_suite.dart
|
| +++ b/tools/testing/dart/test_suite.dart
|
| @@ -666,6 +666,11 @@ class StandardTestSuite implements TestSuite {
|
| default:
|
| Expect.fail('unimplemented compiler $compiler');
|
| }
|
| + if (executable.endsWith('.dart')) {
|
| + // Run the compiler script via the Dart VM.
|
| + args.insertRange(0, 1, executable);
|
| + executable = TestUtils.dartShellFileName(configuration);
|
| + }
|
| return new Command(executable, args);
|
| }
|
|
|
| @@ -1257,7 +1262,10 @@ class TestUtils {
|
| }
|
|
|
| static String dartShellFileName(Map configuration) {
|
| - var name = '${buildDir(configuration)}/${executableName(configuration)}';
|
| + var name = configuration['dart'];
|
| + if (name == '') {
|
| + name = '${buildDir(configuration)}/${executableName(configuration)}';
|
| + }
|
| if (!(new File(name)).existsSync() && !configuration['list']) {
|
| throw "Executable '$name' does not exist";
|
| }
|
|
|