@@ -177,57 +177,6 @@ jobs:
177177 GTK_A11Y : none
178178 run : ${{ matrix.test_cmd }}
179179
180- # -------- Linux: on failure, surface the GL renderer + the bundle's own
181- # crash output (the test harness swallows the app's early exit-79). --------
182- - name : Diagnose Linux failure
183- if : failure() && matrix.platform == 'linux'
184- shell : bash
185- working-directory : ${{ env.APP_DIR }}
186- env :
187- LIBGL_ALWAYS_SOFTWARE : " true"
188- GALLIUM_DRIVER : llvmpipe
189- run : |
190- echo "::group::glxinfo (is llvmpipe active?)"
191- xvfb-run -a glxinfo -B 2>&1 | head -30 || echo "glxinfo unavailable"
192- echo "::endgroup::"
193- echo "::group::Run built Linux bundle directly"
194- BUNDLE="$(find build/flutter/build/linux -type f -name flet_test_counter | head -1)"
195- echo "bundle: ${BUNDLE:-<not found>}"
196- if [ -n "$BUNDLE" ]; then
197- set +e
198- # The bundle is a GUI event-loop app that never exits on its own;
199- # cap it so this diagnostic can't hang the job.
200- timeout 25 xvfb-run -a "$BUNDLE" 2>&1 | head -80
201- echo "bundle exit: ${PIPESTATUS[0]}"
202- set -e
203- fi
204- echo "::endgroup::"
205- # Re-run the integration test directly with --verbose to see why the
206- # x86_64 runner reports "No tests were found" (which build target /
207- # entrypoint it uses, whether the testWidgets body actually runs, and
208- # the exit reason). Use an unreachable server so the test body starts
209- # but doesn't block; full log is uploaded as an artifact.
210- echo "::group::flutter test integration_test/app_test.dart --verbose"
211- set +e
212- ( cd build/flutter && timeout 180 xvfb-run -a flutter test integration_test/app_test.dart \
213- -d linux --verbose \
214- --dart-define=FLET_TEST=true \
215- --dart-define=FLET_TEST_SERVER_URL=tcp://127.0.0.1:59999 \
216- > "$RUNNER_TEMP/linux-flutter-verbose.txt" 2>&1 )
217- echo "verbose run exit: $?"
218- grep -inE "Building|target=|\.dart_tool|main\.dart|app_test|FLUTTER_TARGET|dart_entrypoint|No tests were found|tests? passed|end-to-end|Connecting to remote tester|BEFORE|isolate|exited|No devices|loadDuration|^Skip|Compiling|frontend" \
219- "$RUNNER_TEMP/linux-flutter-verbose.txt" | head -70
220- set -e
221- echo "::endgroup::"
222-
223- - name : Upload Linux verbose log
224- if : failure() && matrix.platform == 'linux'
225- uses : actions/upload-artifact@v4
226- with :
227- name : linux-flutter-verbose
228- path : ${{ runner.temp }}/linux-flutter-verbose.txt
229- if-no-files-found : ignore
230-
231180 # -------- Run: Android (inside the emulator) --------
232181 - name : Run flet test (android)
233182 if : matrix.platform == 'android'
0 commit comments