forked from firka/flutter
[web] Remove HTML from bots, test suites and e2e tests (#161537)
- Stop running framework tests in HTML mode in CI. - Update some READMEs - Remove HTML-specific integration tests
This commit is contained in:
@@ -49,12 +49,6 @@ class WebTestsSuite {
|
||||
//
|
||||
// TODO(yjbanov): we're getting rid of this as part of https://github.com/flutter/flutter/projects/60
|
||||
static const Map<String, List<String>> kWebTestFileKnownFailures = <String, List<String>>{
|
||||
'html': <String>[
|
||||
// These tests are not compilable on the web due to dependencies on
|
||||
// VM-specific functionality.
|
||||
'test/services/message_codecs_vm_test.dart',
|
||||
'test/examples/sector_layout_test.dart',
|
||||
],
|
||||
'canvaskit': <String>[
|
||||
// These tests are not compilable on the web due to dependencies on
|
||||
// VM-specific functionality.
|
||||
@@ -148,48 +142,58 @@ class WebTestsSuite {
|
||||
],
|
||||
|
||||
// This test doesn't do anything interesting w.r.t. rendering, so we don't run the full build mode x renderer matrix.
|
||||
() => _runWebE2eTest('profile_diagnostics_integration', buildMode: 'debug', renderer: 'html'),
|
||||
() => _runWebE2eTest(
|
||||
'profile_diagnostics_integration',
|
||||
buildMode: 'debug',
|
||||
renderer: 'canvaskit',
|
||||
),
|
||||
() => _runWebE2eTest(
|
||||
'profile_diagnostics_integration',
|
||||
buildMode: 'profile',
|
||||
renderer: 'canvaskit',
|
||||
),
|
||||
() =>
|
||||
_runWebE2eTest('profile_diagnostics_integration', buildMode: 'release', renderer: 'html'),
|
||||
() => _runWebE2eTest(
|
||||
'profile_diagnostics_integration',
|
||||
buildMode: 'release',
|
||||
renderer: 'canvaskit',
|
||||
),
|
||||
|
||||
// This test is only known to work in debug mode.
|
||||
() => _runWebE2eTest('scroll_wheel_integration', buildMode: 'debug', renderer: 'html'),
|
||||
() => _runWebE2eTest('scroll_wheel_integration', buildMode: 'debug', renderer: 'canvaskit'),
|
||||
|
||||
// This test doesn't do anything interesting w.r.t. rendering, so we don't run the full build mode x renderer matrix.
|
||||
// These tests have been extremely flaky, so we are temporarily disabling them until we figure out how to make them more robust.
|
||||
() => _runWebE2eTest('text_editing_integration', buildMode: 'debug', renderer: 'canvaskit'),
|
||||
() => _runWebE2eTest('text_editing_integration', buildMode: 'profile', renderer: 'html'),
|
||||
() => _runWebE2eTest('text_editing_integration', buildMode: 'release', renderer: 'html'),
|
||||
() => _runWebE2eTest('text_editing_integration', buildMode: 'profile', renderer: 'canvaskit'),
|
||||
() => _runWebE2eTest('text_editing_integration', buildMode: 'release', renderer: 'canvaskit'),
|
||||
|
||||
// This test doesn't do anything interesting w.r.t. rendering, so we don't run the full build mode x renderer matrix.
|
||||
() => _runWebE2eTest('url_strategy_integration', buildMode: 'debug', renderer: 'html'),
|
||||
() => _runWebE2eTest('url_strategy_integration', buildMode: 'debug', renderer: 'canvaskit'),
|
||||
() => _runWebE2eTest('url_strategy_integration', buildMode: 'profile', renderer: 'canvaskit'),
|
||||
() => _runWebE2eTest('url_strategy_integration', buildMode: 'release', renderer: 'html'),
|
||||
() => _runWebE2eTest('url_strategy_integration', buildMode: 'release', renderer: 'canvaskit'),
|
||||
|
||||
// This test doesn't do anything interesting w.r.t. rendering, so we don't run the full build mode x renderer matrix.
|
||||
() => _runWebE2eTest(
|
||||
'capabilities_integration_canvaskit',
|
||||
buildMode: 'debug',
|
||||
renderer: 'auto',
|
||||
renderer: 'canvaskit',
|
||||
),
|
||||
() => _runWebE2eTest(
|
||||
'capabilities_integration_canvaskit',
|
||||
buildMode: 'profile',
|
||||
renderer: 'canvaskit',
|
||||
),
|
||||
() => _runWebE2eTest('capabilities_integration_html', buildMode: 'release', renderer: 'html'),
|
||||
() => _runWebE2eTest(
|
||||
'capabilities_integration_canvaskit',
|
||||
buildMode: 'release',
|
||||
renderer: 'canvaskit',
|
||||
),
|
||||
|
||||
// This test doesn't do anything interesting w.r.t. rendering, so we don't run the full build mode x renderer matrix.
|
||||
// CacheWidth and CacheHeight are only currently supported in CanvasKit mode, so we don't run the test in HTML mode.
|
||||
() => _runWebE2eTest(
|
||||
'cache_width_cache_height_integration',
|
||||
buildMode: 'debug',
|
||||
renderer: 'auto',
|
||||
renderer: 'canvaskit',
|
||||
),
|
||||
() => _runWebE2eTest(
|
||||
'cache_width_cache_height_integration',
|
||||
@@ -203,14 +207,11 @@ class WebTestsSuite {
|
||||
testAppDirectory: path.join(flutterRoot, 'examples', 'hello_world'),
|
||||
target: 'test_driver/smoke_web_engine.dart',
|
||||
buildMode: 'profile',
|
||||
webRenderer: 'auto',
|
||||
webRenderer: 'canvaskit',
|
||||
),
|
||||
() => _runGalleryE2eWebTest('debug'),
|
||||
() => _runGalleryE2eWebTest('debug', canvasKit: true),
|
||||
() => _runGalleryE2eWebTest('profile'),
|
||||
() => _runGalleryE2eWebTest('profile', canvasKit: true),
|
||||
() => _runGalleryE2eWebTest('release'),
|
||||
() => _runGalleryE2eWebTest('release', canvasKit: true),
|
||||
() =>
|
||||
runWebServiceWorkerTest(headless: true, testType: ServiceWorkerTestType.withoutFlutterJs),
|
||||
() => runWebServiceWorkerTest(headless: true, testType: ServiceWorkerTestType.withFlutterJs),
|
||||
@@ -284,12 +285,6 @@ class WebTestsSuite {
|
||||
() => _runWebReleaseTest('lib/assertion_test.dart'),
|
||||
() => _runWebDebugTest('lib/sound_mode.dart'),
|
||||
() => _runWebReleaseTest('lib/sound_mode.dart'),
|
||||
() => _runFlutterWebTest(
|
||||
'html',
|
||||
path.join(flutterRoot, 'packages', 'integration_test'),
|
||||
<String>['test/web_extension_test.dart'],
|
||||
false,
|
||||
),
|
||||
() => _runFlutterWebTest(
|
||||
'canvaskit',
|
||||
path.join(flutterRoot, 'packages', 'integration_test'),
|
||||
@@ -313,10 +308,6 @@ class WebTestsSuite {
|
||||
await _stopChromeDriver();
|
||||
}
|
||||
|
||||
Future<void> runWebHtmlUnitTests() {
|
||||
return _runWebUnitTests('html', false);
|
||||
}
|
||||
|
||||
Future<void> runWebCanvasKitUnitTests() {
|
||||
return _runWebUnitTests('canvaskit', false);
|
||||
}
|
||||
@@ -370,7 +361,6 @@ class WebTestsSuite {
|
||||
'-d',
|
||||
'web-server',
|
||||
'--$buildMode',
|
||||
// '--web-renderer=$webRenderer',
|
||||
if (webRenderer == 'skwasm') ...<String>[
|
||||
// See: WebRendererMode.dartDefines[skwasm]
|
||||
'--dart-define=FLUTTER_WEB_USE_SKIA=false',
|
||||
@@ -381,11 +371,6 @@ class WebTestsSuite {
|
||||
'--dart-define=FLUTTER_WEB_USE_SKIA=true',
|
||||
'--dart-define=FLUTTER_WEB_USE_SKWASM=false',
|
||||
],
|
||||
if (webRenderer == 'html') ...<String>[
|
||||
// See: WebRendererMode.dartDefines[html]
|
||||
'--dart-define=FLUTTER_WEB_USE_SKIA=false',
|
||||
'--dart-define=FLUTTER_WEB_USE_SKWASM=false',
|
||||
],
|
||||
],
|
||||
expectNonZeroExit: expectFailure,
|
||||
workingDirectory: testAppDirectory,
|
||||
@@ -478,20 +463,11 @@ class WebTestsSuite {
|
||||
///
|
||||
/// This is not a performance test.
|
||||
///
|
||||
/// If [canvasKit] is set to true, runs the test in CanvasKit mode.
|
||||
///
|
||||
/// The test is written using `package:integration_test` (despite the "e2e" in
|
||||
/// the name, which is there for historic reasons).
|
||||
Future<void> _runGalleryE2eWebTest(String buildMode, {bool canvasKit = false}) async {
|
||||
// TODO(yjbanov): this is temporarily disabled due to https://github.com/flutter/flutter/issues/147731
|
||||
if (buildMode == 'debug' && canvasKit) {
|
||||
print(
|
||||
'SKIPPED: Gallery e2e web test in debug CanvasKit mode due to https://github.com/flutter/flutter/issues/147731',
|
||||
);
|
||||
return;
|
||||
}
|
||||
Future<void> _runGalleryE2eWebTest(String buildMode) async {
|
||||
printProgress(
|
||||
'${green}Running flutter_gallery integration test in --$buildMode using ${canvasKit ? 'CanvasKit' : 'HTML'} renderer.$reset',
|
||||
'${green}Running flutter_gallery integration test in --$buildMode using CanvasKit renderer.$reset',
|
||||
);
|
||||
final String testAppDirectory = path.join(
|
||||
flutterRoot,
|
||||
@@ -505,8 +481,7 @@ class WebTestsSuite {
|
||||
<String>[
|
||||
...flutterTestArgs,
|
||||
'drive',
|
||||
if (canvasKit) '--dart-define=FLUTTER_WEB_USE_SKIA=true',
|
||||
if (!canvasKit) '--dart-define=FLUTTER_WEB_USE_SKIA=false',
|
||||
'--dart-define=FLUTTER_WEB_USE_SKIA=true',
|
||||
'--driver=test_driver/transitions_perf_e2e_test.dart',
|
||||
'--target=test_driver/transitions_perf_e2e.dart',
|
||||
'--browser-name=chrome',
|
||||
@@ -734,7 +709,6 @@ class WebTestsSuite {
|
||||
'-v',
|
||||
'--platform=chrome',
|
||||
if (useWasm) '--wasm',
|
||||
// '--web-renderer=$webRenderer',
|
||||
if (webRenderer == 'skwasm') ...<String>[
|
||||
// See: WebRendererMode.dartDefines[skwasm]
|
||||
'--dart-define=FLUTTER_WEB_USE_SKIA=false',
|
||||
@@ -745,11 +719,6 @@ class WebTestsSuite {
|
||||
'--dart-define=FLUTTER_WEB_USE_SKIA=true',
|
||||
'--dart-define=FLUTTER_WEB_USE_SKWASM=false',
|
||||
],
|
||||
if (webRenderer == 'html') ...<String>[
|
||||
// See: WebRendererMode.dartDefines[html]
|
||||
'--dart-define=FLUTTER_WEB_USE_SKIA=false',
|
||||
'--dart-define=FLUTTER_WEB_USE_SKWASM=false',
|
||||
],
|
||||
'--dart-define=DART_HHH_BOT=$runningInDartHHHBot',
|
||||
...flutterTestArgs,
|
||||
...tests,
|
||||
|
||||
@@ -131,11 +131,9 @@ Future<void> main(List<String> args) async {
|
||||
'android_preview_tool_integration_tests': androidPreviewIntegrationToolTestsRunner,
|
||||
'android_java11_tool_integration_tests': androidJava11IntegrationToolTestsRunner,
|
||||
'tool_host_cross_arch_tests': _runToolHostCrossArchTests,
|
||||
// All the unit/widget tests run using `flutter test --platform=chrome --web-renderer=html`
|
||||
'web_tests': webTestsSuite.runWebHtmlUnitTests,
|
||||
// All the unit/widget tests run using `flutter test --platform=chrome --web-renderer=canvaskit`
|
||||
// All the unit/widget tests run using `flutter test --platform=chrome`
|
||||
'web_canvaskit_tests': webTestsSuite.runWebCanvasKitUnitTests,
|
||||
// All the unit/widget tests run using `flutter test --platform=chrome --wasm --web-renderer=skwasm`
|
||||
// All the unit/widget tests run using `flutter test --platform=chrome --wasm`
|
||||
'web_skwasm_tests': webTestsSuite.runWebSkwasmUnitTests,
|
||||
// All web integration tests
|
||||
'web_long_running_tests': webTestsSuite.webLongRunningTestsRunner,
|
||||
|
||||
Reference in New Issue
Block a user