Repository navigation
ci(test_reds): a Swift Testing line after a zero-width space still counts - #35609
Conversation
…unts Swift Testing sometimes prints U+200B before an event line that follows interleaved app output. SUITE_STARTED and SUITE_ENDED are anchored, so '✔ Suite "x" passed' never matched. gh-merge-green then called a passing suite cut short and refused to excuse a base red on #35296 (app-host shard 2). lines_of now strips the leading zero-width space. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
All contributors have signed the CLA ✍️ ✅ |
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
Correctness review (fresh subagent), head bdf3de6: PASS
No findings to resolve. CI is green on this head (45/45). |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Merge receipt for |
…-space suite end (port from main) (#35892) * test(test_reds): reproduce display-named Swift Testing reds and a zero-width-space suite end Both read wrong on feat-cmux-next's copy, which the landers run for every base; main already has the fixes (#35723, #35609). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-8707001042ea634e8771 * ci(test_reds): read display-named Swift Testing reds; strip a leading zero-width space Ports main's #35723 and #35609 to feat-cmux-next's copy, the canonical base-red classifier the landers run for every base, so main's copy can be the same bytes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-8707001042ea634e8771 * test(base-red): reproduce a retried-green ci-status job excusing its run's reds, and a rate limit exiting 1 Review findings on #35893 (F1, F2). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-8707001042ea634e8771 * ci(base-red): a run rollup's exact job must be red too; exit 3 on a rate-limited read A ci-status check-run can stay failed after its job was re-run green; the run was then rescanned and its child reds could be excused. Check the exact job's conclusion for run rollups as for routed ones. Where the evidence reader raises RateLimited (main's), exit 3 so gh-merge-green reports a rate limit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-8707001042ea634e8771 * test(base-red): reproduce a pull_request_target run as base evidence, and an older red listed before a newer green Review findings on #35893. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-8707001042ea634e8771 * ci(base-red): the newest base run decides whatever order GitHub lists them; a pull_request_target run is never base evidence Review findings on #35893 (F1, F2). main's older copy excluded both PR events. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-8707001042ea634e8771 --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Summary
gh-merge-greenrefused #35296 even though its only reds also fail on main. The refusal said:'macos / app-host unit tests (2/7)': 1 suite(s) started and never finished: "Cloud sidebar recorded interaction" (a crash or a cut-short run is never a base red).That suite passed. Swift Testing printed its end line with a leading zero-width space (U+200B) right after interleaved app logs:
✔ Suite "Cloud sidebar recorded interaction" passed after 0.001 seconds.(https://github.com/manaflow-ai/cmux/actions/runs/41848241642/job/126642789599, line 7772).SUITE_STARTEDandSUITE_ENDEDare anchored with^, so the end line never matched.lines_ofnow strips a leading U+200B, which fixes every anchored pattern at once. The unanchored ones were already immune.Testing
python3 -m unittest tests.test_test_reds: 33 OK. The new test checks that a suite end after U+200B counts as whole, and that a suite which really never finished still reports as cut short.test_reds.read:truncatedis now[].🤖 Generated with Claude Code
Open in [code]smith · Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes
test_redsso Swift Testing event lines prefixed with a zero-width space (U+200B) are still recognized. Previously the anchored suite patterns missed those lines, sogh-merge-greencalled a passing suite "never finished" and refused to excuse a base red.lines_ofstrips a leading U+200B, fixing every anchored pattern at once.Written for commit bdf3de6. Summary will update on new commits.
Summary by CodeRabbit