Skip to content

Commit c3bbcb6

Browse files
authored
Add --preview-dart-2 to 'flutter drive' (flutter#14858)
* Add --preview-dart-2 to 'flutter drive' * Run driver side in --preview-dart-2 mode. * Fix test
1 parent 1f3eb50 commit c3bbcb6

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

packages/flutter_tools/lib/src/commands/drive.dart

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,10 @@ class DriveCommand extends RunCommandBase {
7373
valueHelp:
7474
'path'
7575
);
76+
77+
argParser.addFlag('preview-dart-2',
78+
defaultsTo: false,
79+
help: 'Preview Dart 2.0 functionality.');
7680
}
7781

7882
@override
@@ -130,7 +134,7 @@ class DriveCommand extends RunCommandBase {
130134
Cache.releaseLockEarly();
131135

132136
try {
133-
await testRunner(<String>[testFile], observatoryUri);
137+
await testRunner(<String>[testFile], observatoryUri, argResults['preview-dart-2']);
134138
} catch (error, stackTrace) {
135139
if (error is ToolExit)
136140
rethrow;
@@ -282,19 +286,23 @@ Future<LaunchResult> _startApp(DriveCommand command) async {
282286
}
283287

284288
/// 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);
286290
TestRunner testRunner = _runTests;
287291
void restoreTestRunner() {
288292
testRunner = _runTests;
289293
}
290294

291-
Future<Null> _runTests(List<String> testArgs, String observatoryUri) async {
295+
Future<Null> _runTests(List<String> testArgs, String observatoryUri, bool previewDart2) async {
292296
printTrace('Running driver tests.');
293297

294298
PackageMap.globalPackagesPath = fs.path.normalize(fs.path.absolute(PackageMap.globalPackagesPath));
295299
final List<String> args = testArgs.toList()
296300
..add('--packages=${PackageMap.globalPackagesPath}')
297301
..add('-rexpanded');
302+
if (previewDart2) {
303+
args.add('--preview-dart-2');
304+
}
305+
298306
final String dartVmPath = fs.path.join(dartSdkPath, 'bin', 'dart');
299307
final int result = await runCommandAndStreamOutput(
300308
<String>[dartVmPath]..addAll(dartVmFlags)..addAll(args),

packages/flutter_tools/test/commands/drive_test.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ void main() {
5454
appStarter = (DriveCommand command) {
5555
throw 'Unexpected call to appStarter';
5656
};
57-
testRunner = (List<String> testArgs, String observatoryUri) {
57+
testRunner = (List<String> testArgs, String observatoryUri, bool previewDart2) {
5858
throw 'Unexpected call to testRunner';
5959
};
6060
appStopper = (DriveCommand command) {
@@ -169,7 +169,7 @@ void main() {
169169
appStarter = expectAsync1((DriveCommand command) async {
170170
return new LaunchResult.succeeded();
171171
});
172-
testRunner = expectAsync2((List<String> testArgs, String observatoryUri) async {
172+
testRunner = expectAsync3((List<String> testArgs, String observatoryUri, bool previewDart2) async {
173173
expect(testArgs, <String>[testFile]);
174174
return null;
175175
});
@@ -200,7 +200,7 @@ void main() {
200200
appStarter = expectAsync1((DriveCommand command) async {
201201
return new LaunchResult.succeeded();
202202
});
203-
testRunner = (List<String> testArgs, String observatoryUri) async {
203+
testRunner = (List<String> testArgs, String observatoryUri, bool previewDart2) async {
204204
throwToolExit(null, exitCode: 123);
205205
};
206206
appStopper = expectAsync1((DriveCommand command) async {

0 commit comments

Comments
 (0)