From 8b69e5ce5cf2efcd36a238d4413893a4f05d7942 Mon Sep 17 00:00:00 2001 From: Dan Field Date: Mon, 26 Feb 2024 21:08:12 -0800 Subject: [PATCH 1/3] GLES for scenario_app tests using Impeller --- .../java/dev/flutter/TestRunner.java | 6 +++++- .../scenario_app/bin/run_android_tests.dart | 21 ++++++++++++++----- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/testing/scenario_app/android/app/src/androidTest/java/dev/flutter/TestRunner.java b/testing/scenario_app/android/app/src/androidTest/java/dev/flutter/TestRunner.java index ac9b70cce61a5..89494f200cc1d 100644 --- a/testing/scenario_app/android/app/src/androidTest/java/dev/flutter/TestRunner.java +++ b/testing/scenario_app/android/app/src/androidTest/java/dev/flutter/TestRunner.java @@ -16,7 +16,11 @@ public void onCreate(@Nullable Bundle arguments) { String[] engineArguments = null; if ("true".equals(arguments.getString("enable-impeller"))) { // Set up the global settings object so that Impeller is enabled for all tests. - engineArguments = new String[] {"--enable-impeller=true"}; + engineArguments = + new String[] { + "--enable-impeller=true", + "--impeller-backend=" + arguments.getString("impeller-backend", "vulkan") + }; } // For consistency, just always initilaize FlutterJNI etc. FlutterInjector.instance().flutterLoader().startInitialization(getTargetContext()); diff --git a/testing/scenario_app/bin/run_android_tests.dart b/testing/scenario_app/bin/run_android_tests.dart index fc4fd6cf49453..378f4baed1ef4 100644 --- a/testing/scenario_app/bin/run_android_tests.dart +++ b/testing/scenario_app/bin/run_android_tests.dart @@ -199,7 +199,7 @@ Future _run({ late Process logcatProcess; late Future logcatProcessExitCode; - bool seenImpeller = false; + _ImpellerBackend? actualImpellerBackend; final IOSink logcat = File(logcatPath).openWrite(); try { @@ -222,8 +222,16 @@ Future _run({ logcatOutput.listen((String line) { // Always write to the full log. logcat.writeln(line); - if (enableImpeller && !seenImpeller) { - seenImpeller = line.contains('Using the Impeller rendering backend'); + if (enableImpeller && actualImpellerBackend == null && line.contains('Using the Impeller rendering backend')) { + if (line.contains('OpenGLES')) { + actualImpellerBackend = _ImpellerBackend.opengles; + } else if (line.contains('Vulkan')) { + actualImpellerBackend = _ImpellerBackend.vulkan; + } else { + panic([ + 'Impeller was enabled, but $line did not contain "OpenGLES" or "Vulkan".', + ]); + } } // Conditionally parse and write to stderr. @@ -375,9 +383,12 @@ Future _run({ if (enableImpeller) { await step('Validating Impeller...', () async { - if (!seenImpeller) { + _ImpellerBackend expectedImpellerBackend = impellerBackend ?? _ImpellerBackend.vulkan; + if (actualImpellerBackend != expectedImpellerBackend) { panic([ - '--enable-impeller was specified, but Impeller was not used.', + '--enable-impeller was specified and expected to find ' + '"${expectedImpellerBackend.name}", which did not match ' + '"${actualImpellerBackend?.name ?? ''}".', ]); } }); From 4b024d2c47d21042d3a46b749ff6f7c2b37fdf40 Mon Sep 17 00:00:00 2001 From: Dan Field Date: Tue, 27 Feb 2024 08:36:24 -0800 Subject: [PATCH 2/3] final --- testing/scenario_app/bin/run_android_tests.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testing/scenario_app/bin/run_android_tests.dart b/testing/scenario_app/bin/run_android_tests.dart index 378f4baed1ef4..f1a1ee8f91fc3 100644 --- a/testing/scenario_app/bin/run_android_tests.dart +++ b/testing/scenario_app/bin/run_android_tests.dart @@ -383,7 +383,7 @@ Future _run({ if (enableImpeller) { await step('Validating Impeller...', () async { - _ImpellerBackend expectedImpellerBackend = impellerBackend ?? _ImpellerBackend.vulkan; + final _ImpellerBackend expectedImpellerBackend = impellerBackend ?? _ImpellerBackend.vulkan; if (actualImpellerBackend != expectedImpellerBackend) { panic([ '--enable-impeller was specified and expected to find ' From c50e85636de6362ca56eeda160d096f37a78b447 Mon Sep 17 00:00:00 2001 From: Dan Field Date: Tue, 27 Feb 2024 09:05:04 -0800 Subject: [PATCH 3/3] more lints --- testing/scenario_app/bin/run_android_tests.dart | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/testing/scenario_app/bin/run_android_tests.dart b/testing/scenario_app/bin/run_android_tests.dart index f1a1ee8f91fc3..88cc46236125c 100644 --- a/testing/scenario_app/bin/run_android_tests.dart +++ b/testing/scenario_app/bin/run_android_tests.dart @@ -386,9 +386,7 @@ Future _run({ final _ImpellerBackend expectedImpellerBackend = impellerBackend ?? _ImpellerBackend.vulkan; if (actualImpellerBackend != expectedImpellerBackend) { panic([ - '--enable-impeller was specified and expected to find ' - '"${expectedImpellerBackend.name}", which did not match ' - '"${actualImpellerBackend?.name ?? ''}".', + '--enable-impeller was specified and expected to find "${expectedImpellerBackend.name}", which did not match "${actualImpellerBackend?.name ?? ''}".', ]); } });