@@ -118,8 +118,19 @@ def test_android_integration_builds_one_application_bundle(self) -> None:
118118 self .assertIn ("integration_test/android_smoke_test.dart" , android )
119119 self .assertNotIn ("integration_test/about_page_test.dart" , android )
120120 self .assertNotIn ("integration_test/blockly_webview_test.dart" , android )
121- self .assertIn ("timeout --signal=TERM --kill-after=30s 30m " , android )
121+ self .assertIn ("timeout --signal=TERM --kill-after=30s 12m " , android )
122122 self .assertIn ("--no-pub" , android )
123+ self .assertIn ("flutter drive \\ " , android )
124+ self .assertIn (
125+ "--driver test_driver/integration_test.dart" ,
126+ android ,
127+ )
128+ self .assertIn (
129+ "--use-application-binary "
130+ "build/app/outputs/flutter-apk/app-debug.apk" ,
131+ android ,
132+ )
133+ self .assertNotIn (" flutter test \\ " , android )
123134
124135 integration_root = REPO_ROOT / "app" / "integration_test"
125136 self .assertEqual (
@@ -151,6 +162,25 @@ def test_android_integration_builds_one_application_bundle(self) -> None:
151162 "blockly_webview.registerBlocklyWebViewIntegrationTests();" ,
152163 harness ,
153164 )
165+ driver = (
166+ REPO_ROOT / "app" / "test_driver" / "integration_test.dart"
167+ ).read_text (encoding = "utf-8" )
168+ self .assertIn (
169+ "import 'package:integration_test/integration_test_driver.dart';" ,
170+ driver ,
171+ )
172+ self .assertIn (
173+ "Future<void> main() => integrationDriver(" ,
174+ driver ,
175+ )
176+ self .assertIn (
177+ "timeout: const Duration(minutes: 10)," ,
178+ driver ,
179+ )
180+ self .assertIn (
181+ "writeResponseOnFailure: true," ,
182+ driver ,
183+ )
154184
155185 def test_android_integration_prebuilds_with_bounded_runner_resources (
156186 self ,
@@ -161,19 +191,31 @@ def test_android_integration_prebuilds_with_bounded_runner_resources(
161191 android_start = workflow .index (" android-webview:" )
162192 build_start = workflow .index ("\n build:" , android_start )
163193 android = workflow [android_start :build_start ]
164- gradle_properties = (
165- REPO_ROOT / "app" / "android" / "gradle.properties"
166- ).read_text (encoding = "utf-8" )
167194
168195 self .assertIn (
169- "org.gradle.jvmargs=-Xmx3072m "
196+ "GRADLE_USER_HOME: /tmp/pyble-gradle-home" ,
197+ android ,
198+ )
199+ self .assertIn (
200+ "'org.gradle.jvmargs=-Xmx3072m "
170201 "-XX:MaxMetaspaceSize=1024m "
171- "-XX:ReservedCodeCacheSize=256m" ,
172- gradle_properties ,
202+ "-XX:ReservedCodeCacheSize=256m'" ,
203+ android ,
204+ )
205+ self .assertIn (
206+ "'org.gradle.daemon=false'" ,
207+ android ,
173208 )
174209 self .assertIn (
175- "GRADLE_OPTS: -Dorg.gradle.daemon=false "
176- "-Dorg.gradle.workers.max=1" ,
210+ "'org.gradle.workers.max=1'" ,
211+ android ,
212+ )
213+ self .assertIn (
214+ "'kotlin.compiler.execution.strategy=in-process'" ,
215+ android ,
216+ )
217+ self .assertIn (
218+ '> "$GRADLE_USER_HOME/gradle.properties"' ,
177219 android ,
178220 )
179221 self .assertIn ("--set 'hw.ramSize=2048'" , android )
@@ -190,24 +232,35 @@ def test_android_integration_prebuilds_with_bounded_runner_resources(
190232 )
191233 self .assertLess (prebuild , boot )
192234 self .assertLess (boot , integration )
235+ self .assertEqual (1 , android .count ("flutter build apk" ))
193236 self .assertIn (
194237 "flutter build apk \\ \n "
195238 " --debug \\ \n "
196239 " --no-pub \\ \n "
240+ " --target-platform android-x64 \\ \n "
197241 " --target integration_test/android_smoke_test.dart" ,
198242 android ,
199243 )
200244 self .assertIn (
201245 '>"$PYBLE_ANDROID_LOG_DIR/flutter-build.log" 2>&1' ,
202246 android ,
203247 )
248+ self .assertIn (
249+ "test -s build/app/outputs/flutter-apk/app-debug.apk" ,
250+ android ,
251+ )
204252 self .assertIn ("./android/gradlew --stop" , android )
205253 self .assertIn (
206- '>"$PYBLE_ANDROID_LOG_DIR/flutter-test.log" 2>&1' ,
254+ '>"$PYBLE_ANDROID_LOG_DIR/flutter-drive.log" 2>&1' ,
255+ android ,
256+ )
257+ self .assertIn (
258+ "--use-application-binary "
259+ "build/app/outputs/flutter-apk/app-debug.apk" ,
207260 android ,
208261 )
209262 self .assertNotIn (
210- '2>&1 | tee "$PYBLE_ANDROID_LOG_DIR/flutter-test .log"' ,
263+ '2>&1 | tee "$PYBLE_ANDROID_LOG_DIR/flutter-drive .log"' ,
211264 android ,
212265 )
213266
0 commit comments