Skip to content

Fix FlutterActivityTest logcat marker priority and narrow graphics error filtering - #195707

Draft
andywolff wants to merge 1 commit into
flutter:masterfrom
andywolff:apktest-kotlin-logcat-filter
Draft

andywolff wants to merge 1 commit into
flutter:masterfrom
andywolff:apktest-kotlin-logcat-filter

Conversation

@andywolff

@andywolff andywolff commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Related to #191348
Related to #193557
Related to #193205
Related to #195708

What changed

I fixed a log-level filtering bug in FlutterActivityTest.kt's getGraphicsPipelineErrors and extracted explicit fatal graphics error matching into GraphicsErrorLogFilter.kt inside dev/integration_tests/android_hardware_smoke_test.

Previously, templateTest logged its attempt boundary marker via Log.i(TAG, marker) (INFO priority), whereas getGraphicsPipelineErrors queried logcat -d --pid=$pid *:W (WARN and above). Because *:W stripped all INFO lines from the dump, seenMarker never flipped to true and process-level EGL or Vulkan errors went undetected during instrumented runs. At the same time, matching any post-marker line containing "HWUI" or "EGL_" matched benign warnings emitted unconditionally by Android's HWUI RenderThread on emulators (Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, 101010-2 ... error = EGL_SUCCESS, Unknown dataspace 0, and slow-frame HWUI: Davey! logs), which would immediately preempt BlankScreenshotException retries once marker detection armed.

getGraphicsPipelineErrors now passes logcat -d --pid=$pid $TAG:I *:W so the Log.i boundary marker remains visible in the dump, and GraphicsErrorLogFilter matches explicit unrecoverable EGL, Vulkan, and emulator host-pipe errors while excluding 'EGL_SWAP_BEHAVIOR_PRESERVED' and 'error = EGL_SUCCESS' specifically (preserving real libEGL eglInitialize(...) failed (EGL_SUCCESS) disconnect detection).

Pre-launch Checklist

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant