Index: tools/testing/dart/runtime_configuration.dart |
diff --git a/tools/testing/dart/runtime_configuration.dart b/tools/testing/dart/runtime_configuration.dart |
index 8596c6fe41015d05c3552da4acc153dfc4e9dd59..999a97caf6d9fd62f1c3009dbf3d9cb9d9a2d549 100644 |
--- a/tools/testing/dart/runtime_configuration.dart |
+++ b/tools/testing/dart/runtime_configuration.dart |
@@ -52,6 +52,9 @@ class RuntimeConfiguration { |
case 'vm': |
return new StandaloneDartRuntimeConfiguration(); |
+ case 'dart_snapshotted': |
+ return new DartSnapshottedRuntimeConfiguration(); |
+ |
case 'dart_precompiled': |
return new DartPrecompiledRuntimeConfiguration(); |
@@ -218,7 +221,7 @@ class StandaloneDartRuntimeConfiguration extends DartVmRuntimeConfiguration { |
if (script != null && type != 'application/dart') { |
throw "Dart VM cannot run files of type '$type'."; |
} |
- String executable = suite.configuration['noopt'] |
+ String executable = suite.configuration['noopt'] |
? suite.dartVmNooptBinaryFileName |
: suite.dartVmBinaryFileName; |
return <Command>[commandBuilder.getVmCommand( |
@@ -226,6 +229,27 @@ class StandaloneDartRuntimeConfiguration extends DartVmRuntimeConfiguration { |
} |
} |
+class DartSnapshottedRuntimeConfiguration extends DartVmRuntimeConfiguration { |
+ List<Command> computeRuntimeCommands( |
+ TestSuite suite, |
+ CommandBuilder commandBuilder, |
+ CommandArtifact artifact, |
+ List<String> arguments, |
+ Map<String, String> environmentOverrides) { |
+ String script = artifact.filename; |
+ String type = artifact.mimeType; |
+ if (script != null && type != 'application/dart-snapshot') { |
+ throw "dart_product cannot run files of type '$type'."; |
+ } |
+ |
+ var augmentedArgs = new List(); |
+ augmentedArgs.add("--run-full-snapshot=${artifact.filename}"); |
+ augmentedArgs.addAll(arguments); |
+ |
+ return <Command>[commandBuilder.getVmCommand( |
+ suite.dartVmBinaryFileName, augmentedArgs, environmentOverrides)]; |
+ } |
+} |
class DartPrecompiledRuntimeConfiguration extends DartVmRuntimeConfiguration { |
List<Command> computeRuntimeCommands( |