Skip to content

Commit 71c6cd0

Browse files
Pass along web renderer into debugging options in the test command. (#143128)
We need to pass along the web renderer in the debugging options to make sure that the resident web runner sets up the targets correctly.
1 parent b586bd9 commit 71c6cd0

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import '../test/runner.dart';
2121
import '../test/test_time_recorder.dart';
2222
import '../test/test_wrapper.dart';
2323
import '../test/watcher.dart';
24+
import '../web/compile.dart';
2425

2526
/// The name of the directory where Integration Tests are placed.
2627
///
@@ -353,6 +354,10 @@ class TestCommand extends FlutterCommand with DeviceBasedDevelopmentArtifacts {
353354
);
354355
}
355356

357+
final String? webRendererString = stringArg('web-renderer');
358+
final WebRendererMode webRenderer = (webRendererString != null)
359+
? WebRendererMode.values.byName(webRendererString)
360+
: WebRendererMode.auto;
356361
final DebuggingOptions debuggingOptions = DebuggingOptions.enabled(
357362
buildInfo,
358363
startPaused: startPaused,
@@ -365,6 +370,7 @@ class TestCommand extends FlutterCommand with DeviceBasedDevelopmentArtifacts {
365370
usingCISystem: usingCISystem,
366371
enableImpeller: ImpellerStatus.fromBool(argResults!['enable-impeller'] as bool?),
367372
debugLogsDirectoryPath: debugLogsDirectoryPath,
373+
webRenderer: webRenderer,
368374
);
369375

370376
String? testAssetDirectory;

packages/flutter_tools/test/commands.shard/hermetic/test_test.dart

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import 'package:flutter_tools/src/test/test_device.dart';
2222
import 'package:flutter_tools/src/test/test_time_recorder.dart';
2323
import 'package:flutter_tools/src/test/test_wrapper.dart';
2424
import 'package:flutter_tools/src/test/watcher.dart';
25+
import 'package:flutter_tools/src/web/compile.dart';
2526
import 'package:stream_channel/stream_channel.dart';
2627
import 'package:vm_service/vm_service.dart';
2728

@@ -1057,6 +1058,24 @@ dev_dependencies:
10571058
FileSystem: () => fs,
10581059
ProcessManager: () => FakeProcessManager.any(),
10591060
});
1061+
1062+
testUsingContext('Passes web renderer into debugging options', () async {
1063+
final FakeFlutterTestRunner testRunner = FakeFlutterTestRunner(0);
1064+
1065+
final TestCommand testCommand = TestCommand(testRunner: testRunner);
1066+
final CommandRunner<void> commandRunner = createTestCommandRunner(testCommand);
1067+
1068+
await commandRunner.run(const <String>[
1069+
'test',
1070+
'--no-pub',
1071+
'--platform=chrome',
1072+
'--web-renderer=canvaskit',
1073+
]);
1074+
expect(testRunner.lastDebuggingOptionsValue.webRenderer, WebRendererMode.canvaskit);
1075+
}, overrides: <Type, Generator>{
1076+
FileSystem: () => fs,
1077+
ProcessManager: () => FakeProcessManager.any(),
1078+
});
10601079
});
10611080
}
10621081

0 commit comments

Comments
 (0)