Repository navigation
Shared fixtures: keep a tail-only test report's failing tests in the artifact summary - #833
Conversation
The artifact summary keeps a test report's last 64 KiB. The comparator report is about 450 KiB, so #826's one failing test (reported early) was missing from its retained summary, and the failure needed a local reproduction to find. When a test summary is cut to its tail, the summary also writes <report>.failures.txt: every TAP `not ok` line with its diagnostic block, within the same per-file and total limits, recorded with derived_from and the failure count. A whole report or a passing one gets no excerpt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Resolved at b2b6e75: independent follow-up verification. The original Review at
Both checks used isolated offline Node 22.23.3. No owner-branch changes or Rust execution. |
Cloud's review of #833 (comment 6461500906) found two problems: - the failure scan read the whole report with readFileSync and split it, so a large report defeated the summary's memory bounds; - a derived excerpt counted as a retained source file, so one failing report gave scanned_files 1, retained 2, omitted_files -1. scanTapFailures now reads the report in 64 KiB chunks through a UTF-8 StringDecoder, one line of at most 8 KiB at a time. It keeps at most the excerpt limit and 200 lines per block, and still counts failures past the limit. omitted_files counts source files only. New test: a 256 MiB sparse report with an early failure gives the exact excerpt and scanned 1 / retained 2 / omitted 0. A 1 GiB sparse report scans at 77 MiB peak RSS. Artifact summary tests pass 9/9. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
|
Independent follow-up at
All checks ran with cached Node 22.23.3 in isolated offline containers. No Rust execution or owner-branch changes. No further finding in this correction; normal hosted checks still apply. Hosted PR qualification independently verified at 2026-10-28 06:10 UTC, same Combined qualification and source delivery are complete: queue/merge commit |



Part of #325 (CI diagnosability).
The artifact summary keeps the last 64 KiB of each test report. The comparator report is about 450 KiB, so #826's one failing test was missing from the retained summary. It was reported early, before the tail. Finding it took a local reproduction of the exact test list.
Change. When a test summary (
*-tests.txt) is cut to its tail,artifact-summary.mjsalso writes<report>.failures.txt.not okline with its indented diagnostic block, up to the block's....derived_fromand the failure count.Checked:
ServerParityArtifactSummaryTestpasses 8/8. The new case puts a failure ahead of a 4,000-test passing tail, and also checks a passing report and a small failing report.🤖 Generated with Claude Code