[CI, scripts, tools] (P7): the pull control strips ctest -V's line prefix, retrace-split pins lavapipe, and the retrace summary reads role logs

This commit is contained in:
2026-09-23 13:23:09 -04:00
parent 2ab757792c
commit b13045918a
5 changed files with 35 additions and 3 deletions
+4
View File
@@ -121,6 +121,10 @@ expect PASSED "run_trace_case.cmake's own sentence, wrapped" -- run_retrace retr
# search. The control accepted only the marker sentence until B3's fix round 2, and was red on
# every real pull-library run (measured on the B3 package tree).
expect PASSED "the no-client-log sentence a pull library gets" -- run_retrace retrace-evidence-nolog
# Both sentences again as `ctest -V` really prints them, with "1: " on every line: folded
# naively that is "never 1: reported resolving it", and the control used to red on it.
expect PASSED "the marker sentence under ctest -V's N: prefix" -- run_retrace retrace-evidence-prefixed
expect PASSED "the no-log sentence under ctest -V's N: prefix" -- run_retrace retrace-evidence-nolog-prefixed
# The pull library replaying green is the failure this control exists to catch.
expect FAILED "a pull library passed the split retrace" -- run_retrace retrace-green
+4 -1
View File
@@ -155,7 +155,10 @@ fi
# width: "never reported resolving it" arrives split over two lines with a two-space continuation
# indent, and a line-oriented grep for the literal finds nothing. That is not hypothetical - it is
# the shape the stub reproduces in scripts/ci/testdata/stub_ctest.sh.
if ! tr -s '[:space:]' ' ' < "${out}" | grep -qF "${EVIDENCE}"; then
# `ctest -V` ALSO PREFIXES EVERY OUTPUT LINE WITH "<test number>: ", continuation lines included,
# so without stripping it first the folded text reads "never 1: reported resolving it" and the
# control reds on the very sentence it is looking for (the *-prefixed stub modes).
if ! sed -E 's/^[0-9]+: //' "${out}" | tr -s '[:space:]' ' ' | grep -qF "${EVIDENCE}"; then
echo "::error::the split retrace went red (ctest exit ${control_rc}) with the pull library in place, but the failure never says the library did not resolve the transport - neither of run_trace_case.cmake's sentences (\"${EVIDENCE//$'\n'/\" / \"}\") is in the output. A loader failure, a missing fixture, a timeout or an SSIM drop all land here, and none of them establishes that the transport-identity assertion is what caught the pull library. Only 'non-zero ctest' used to be checked (ID-46 finding 8b)."
exit 1
fi
Vendored Executable → Regular
+11
View File
@@ -32,6 +32,8 @@
# one match; the run fails one check earlier, with the runner's "wrote no
# <client log> ... no evidence the transport ever resolved" - the shape a
# PULL library produces since P6's per-role log rename
# retrace-evidence-prefixed, retrace-evidence-nolog-prefixed
# the two above with `ctest -V`'s "1: " prefix on every line
# retrace-green one match; the run PASSES
#
# EXIT GATE E2's DRAW-DROP CONTROL (scripts/ci/retrace_drop_draw_control.sh). The library's own
@@ -307,6 +309,15 @@ case "${mode}" in
echo " counted as a split retrace."
exit 8
;;
retrace-evidence-prefixed|retrace-evidence-nolog-prefixed)
# The two modes above as `ctest -V` really prints them: EVERY line of a test's output carries
# a "<test number>: " prefix, continuation lines included, so after whitespace folding the
# wrapped sentence reads "never 1: reported resolving it" / "no evidence the 1: transport ever
# resolved". A short case directory breaks the sentence at exactly those words; CI's long
# paths happened not to (retrace-split, run 35671704873: 5 false reds from this shape).
STUB_MODE="${mode%-prefixed}" bash "$0" "$@" | sed 's/^/1: /'
exit "${PIPESTATUS[0]}"
;;
retrace-green)
echo "100% tests passed, 0 tests failed out of 1"
exit 0