mirror of
https://github.com/flutter/packages.git
synced 2025-06-28 13:47:29 +08:00
[ci] Drive tests with html renderer if CHANNEL is stable. (#7146)
Introduces a small fork in the `drive_examples_command` to run integration tests with `--web-renderer=html` in the `stable` channel (and `--web-renderer=canvaskit` in `master`). This is supposed to be removed, once the current `master` rolls into `stable` (see clean-up issue referenced below). ## Issues * Part of: https://github.com/flutter/flutter/issues/143543 * Prevents flakes: https://github.com/flutter/packages/pull/7115#issuecomment-2226661488 * Clean-up issue: https://github.com/flutter/flutter/issues/151869
This commit is contained in:
@ -38,6 +38,9 @@ void main() {
|
||||
runner = CommandRunner<void>(
|
||||
'drive_examples_command', 'Test for drive_example_command');
|
||||
runner.addCommand(command);
|
||||
|
||||
// TODO(dit): Clean this up, https://github.com/flutter/flutter/issues/151869
|
||||
mockPlatform.environment['CHANNEL'] = 'master';
|
||||
});
|
||||
|
||||
void setMockFlutterDevicesOutput({
|
||||
@ -688,6 +691,60 @@ void main() {
|
||||
]));
|
||||
});
|
||||
|
||||
// TODO(dit): Clean this up, https://github.com/flutter/flutter/issues/151869
|
||||
test('drives a web plugin (html renderer in stable)', () async {
|
||||
// Override the platform to simulate CHANNEL: stable
|
||||
mockPlatform.environment['CHANNEL'] = 'stable';
|
||||
|
||||
final RepositoryPackage plugin = createFakePlugin(
|
||||
'plugin',
|
||||
packagesDir,
|
||||
extraFiles: <String>[
|
||||
'example/integration_test/plugin_test.dart',
|
||||
'example/test_driver/integration_test.dart',
|
||||
'example/web/index.html',
|
||||
],
|
||||
platformSupport: <String, PlatformDetails>{
|
||||
platformWeb: const PlatformDetails(PlatformSupport.inline),
|
||||
},
|
||||
);
|
||||
|
||||
final Directory pluginExampleDirectory = getExampleDir(plugin);
|
||||
|
||||
final List<String> output = await runCapturingPrint(runner, <String>[
|
||||
'drive-examples',
|
||||
'--web',
|
||||
]);
|
||||
|
||||
expect(
|
||||
output,
|
||||
containsAllInOrder(<Matcher>[
|
||||
contains('Running for plugin'),
|
||||
contains('No issues found!'),
|
||||
]),
|
||||
);
|
||||
|
||||
expect(
|
||||
processRunner.recordedCalls,
|
||||
orderedEquals(<ProcessCall>[
|
||||
ProcessCall(
|
||||
getFlutterCommand(mockPlatform),
|
||||
const <String>[
|
||||
'drive',
|
||||
'-d',
|
||||
'web-server',
|
||||
'--web-port=7357',
|
||||
'--browser-name=chrome',
|
||||
'--web-renderer=html',
|
||||
'--driver',
|
||||
'test_driver/integration_test.dart',
|
||||
'--target',
|
||||
'integration_test/plugin_test.dart',
|
||||
],
|
||||
pluginExampleDirectory.path),
|
||||
]));
|
||||
});
|
||||
|
||||
test('runs chromedriver when requested', () async {
|
||||
final RepositoryPackage plugin = createFakePlugin(
|
||||
'plugin',
|
||||
|
Reference in New Issue
Block a user