[CI] (.github/workflows, scripts/ci, tools/trace_replay): check the verify control's reason in one script

- scripts/ci/retrace_verify_reason.py holds the retrace-verify control's reason check, a plain search for Fatal{PipeVerifyDiffer, "GetRenderStateParameters@ (run_trace_case.cmake prints the library log through message(STATUS), which never re-wraps, so the old prefix stripping and whitespace collapse are gone); the workflow step and test_run_trace_case.py both run it, so the test can no longer pass on a copy
- canned reds carrying a different Fatal (Fatal{UnmigratedPipeInput, "GetPixelStoreParameters@ReadPixels"}) or the comparator's divergence on another field (Fatal{PipeVerifyDiffer, "GetPixelStoreParameters@ReadPixels"}) must fail the check
This commit is contained in:
2026-10-17 17:13:51 -04:00
parent 9eb92f83c9
commit d98f183eba
3 changed files with 64 additions and 14 deletions
+3 -6
View File
@@ -3287,12 +3287,9 @@ jobs:
echo "::error::MOBILEGL_PIPE_VERIFY_CORRUPT=GetRenderStateParameters left the OpenRA retrace GREEN, so the comparator is not comparing and the whole verify retrace lane proves nothing."
exit 1
fi
# Its own red: ctest -V prefixes every line with the test number, and CMake re-wraps text.
if ! sed -E 's/^[0-9]+: //' "${RUNNER_TEMP}/verify-control.txt" | tr -s '[:space:]' ' ' \
| grep -qF 'Fatal{PipeVerifyDiffer, "GetRenderStateParameters@'; then
echo "::error::the corrupted-snapshot retrace went red without Fatal{PipeVerifyDiffer, \"GetRenderStateParameters@...\"}: something other than the comparator failed it"
exit 1
fi
# Its red must carry the comparator's divergence on the corrupted field
# (scripts/ci/retrace_verify_reason.py, which test_run_trace_case.py runs on canned output).
python3 "${GITHUB_WORKSPACE}/scripts/ci/retrace_verify_reason.py" "${RUNNER_TEMP}/verify-control.txt"
echo "the corrupted field turned the retrace red, as it must (ctest exit ${control_rc})"
- name: Upload core dumps