@@ -73,6 +73,10 @@ class DriveCommand extends RunCommandBase {
73
73
valueHelp:
74
74
'path'
75
75
);
76
+
77
+ argParser.addFlag ('preview-dart-2' ,
78
+ defaultsTo: false ,
79
+ help: 'Preview Dart 2.0 functionality.' );
76
80
}
77
81
78
82
@override
@@ -130,7 +134,7 @@ class DriveCommand extends RunCommandBase {
130
134
Cache .releaseLockEarly ();
131
135
132
136
try {
133
- await testRunner (< String > [testFile], observatoryUri);
137
+ await testRunner (< String > [testFile], observatoryUri, argResults[ 'preview-dart-2' ] );
134
138
} catch (error, stackTrace) {
135
139
if (error is ToolExit )
136
140
rethrow ;
@@ -282,19 +286,23 @@ Future<LaunchResult> _startApp(DriveCommand command) async {
282
286
}
283
287
284
288
/// Runs driver tests.
285
- typedef Future <Null > TestRunner (List <String > testArgs, String observatoryUri);
289
+ typedef Future <Null > TestRunner (List <String > testArgs, String observatoryUri, bool previewDart2 );
286
290
TestRunner testRunner = _runTests;
287
291
void restoreTestRunner () {
288
292
testRunner = _runTests;
289
293
}
290
294
291
- Future <Null > _runTests (List <String > testArgs, String observatoryUri) async {
295
+ Future <Null > _runTests (List <String > testArgs, String observatoryUri, bool previewDart2 ) async {
292
296
printTrace ('Running driver tests.' );
293
297
294
298
PackageMap .globalPackagesPath = fs.path.normalize (fs.path.absolute (PackageMap .globalPackagesPath));
295
299
final List <String > args = testArgs.toList ()
296
300
..add ('--packages=${PackageMap .globalPackagesPath }' )
297
301
..add ('-rexpanded' );
302
+ if (previewDart2) {
303
+ args.add ('--preview-dart-2' );
304
+ }
305
+
298
306
final String dartVmPath = fs.path.join (dartSdkPath, 'bin' , 'dart' );
299
307
final int result = await runCommandAndStreamOutput (
300
308
< String > [dartVmPath]..addAll (dartVmFlags)..addAll (args),
0 commit comments