| Index: tools/testing/dart/test_options.dart
|
| diff --git a/tools/testing/dart/test_options.dart b/tools/testing/dart/test_options.dart
|
| index 255564ac5c1688a84428a97b19f7fa2333f0428a..e501d08ba58de1f6ed7e91b504bc47d078383e2d 100644
|
| --- a/tools/testing/dart/test_options.dart
|
| +++ b/tools/testing/dart/test_options.dart
|
| @@ -26,6 +26,7 @@ const List<String> defaultTestSelectors = const [
|
| 'pkg',
|
| 'analyze_library',
|
| 'service',
|
| + 'kernel',
|
| 'observatory_ui'
|
| ];
|
|
|
| @@ -75,9 +76,15 @@ class TestOptionsParser {
|
|
|
| dart2app:
|
| dart2appjit: Compile the Dart code into an app snapshot before running test
|
| - (only valid with dart_app runtime)''',
|
| + (only valid with dart_app runtime)
|
| +
|
| + dartk: Compile the Dart source into Kernel before running test.
|
| +
|
| + dartkp: Compiler the Dart source into Kernel and then Kernel into AOT
|
| + snapshot before running the test.''',
|
| ['-c', '--compiler'],
|
| - ['none', 'precompiler', 'dart2js', 'dart2analyzer', 'dart2app', 'dart2appjit'],
|
| + ['none', 'precompiler', 'dart2js', 'dart2analyzer', 'dart2app',
|
| + 'dart2appjit', 'dartk', 'dartkp'],
|
| 'none'),
|
| // TODO(antonm): fix the option drt.
|
| new _TestOptionSpecification(
|
| @@ -156,6 +163,16 @@ class TestOptionsParser {
|
| ],
|
| 'x64'),
|
| new _TestOptionSpecification(
|
| + 'kernel_transformers',
|
| + 'The kernel transformations to apply in order (separated by comma). '
|
| + 'A transformer can either be just a "name" (in which case it must be '
|
| + 'available in kernel/bin/tansform.dart) or a "name:path" pair '
|
| + '(in which case "path" must point to an executable script which takes'
|
| + ' `input-file` and `output-file` as arguments).',
|
| + ['--kernel_transformers'],
|
| + [],
|
| + ''),
|
| + new _TestOptionSpecification(
|
| 'system',
|
| 'The operating system to run tests on',
|
| ['-s', '--system'],
|
| @@ -677,6 +694,12 @@ Note: currently only implemented for dart2js.''',
|
| case 'precompiler':
|
| validRuntimes = const ['dart_precompiled'];
|
| break;
|
| + case 'dartk':
|
| + validRuntimes = const ['vm'];
|
| + break;
|
| + case 'dartkp':
|
| + validRuntimes = const ['dart_precompiled'];
|
| + break;
|
| case 'none':
|
| validRuntimes = const [
|
| 'vm',
|
| @@ -687,6 +710,13 @@ Note: currently only implemented for dart2js.''',
|
| ];
|
| break;
|
| }
|
| + var kernelCompilers = const ['dartk', 'dartkp'];
|
| + if (config['kernel_transformers']?.length > 0 &&
|
| + !kernelCompilers.contains(config['compiler'])) {
|
| + isValid = false;
|
| + print("Warning: The `--kernel_transformers` option can only be used in "
|
| + "combination with the ${kernelCompilers.join(', ')} compilers.");
|
| + }
|
| if (!validRuntimes.contains(config['runtime'])) {
|
| isValid = false;
|
| print("Warning: combination of compiler '${config['compiler']}' and "
|
| @@ -838,9 +868,9 @@ Note: currently only implemented for dart2js.''',
|
| if (configuration['package_root'] == null &&
|
| configuration['packages'] == null) {
|
| configuration['packages'] =
|
| - TestUtils.dartDirUri.resolve('.packages').toFilePath();
|
| + TestUtils.dartDirUri.resolve('.packages').toFilePath();
|
| }
|
| -
|
| +
|
| // Expand the architectures.
|
| if (configuration['arch'].contains(',')) {
|
| return _expandHelper('arch', configuration);
|
|
|