Skip to content

Repair: Run e2e tests whose names wrap onto the next line when a pull request changes them - #574

Merged
JamelHammoud merged 1 commit into
mainfrom
loop/repair/main-b0fc0e7-20261113225444-59891
Nov 13, 2026
Merged

JamelHammoud merged 1 commit into
mainfrom
loop/repair/main-b0fc0e7-20261113225444-59891

Conversation

@JamelHammoud

Copy link
Copy Markdown
Owner

Failure

Check on main, b0fc0e7

Cause

Class: broke at a commit. The LiDAR test came in with 1fe08d9 (batch merge) and failed both full runs since: f5a6da2 (360 s, timed out twice) and b0fc0e7 (180 s timeout, then the retry's Play click never became stable on a stalled page). The last green full run, 03d9170, didn't include it. #530 (864eaa6) tried to fix it forward: it switched to the RPLIDAR S2 and ended the try with endTryAt. It merged untested because tools/e2e-changed.mjs matched a test only when its name sat on the call's line. Prettier wraps long names (itUnlessWindows(\n 'scans a corridor…'), so changed lines were credited to the previous single-line test. This change fixes that gap. The LiDAR failure itself is not fixed: current main fails it in the Linux container.

Fix

A pull request's e2e-changed job now runs every e2e test it edits, including tests whose name Prettier wraps onto the line after it( or itUnlessWindows(. Before, the picker credited those lines to the test above, so #530's LiDAR repair merged without its own Check ever running the LiDAR test. This does not make the nightly pass: in CI-like Linux, current main still fails drive.e2e's LiDAR test and two others in 3 of 3 runs.

Evidence

… changes them

The nightly suite failed at b0fc0e7 on drive.e2e's LiDAR test. #530 fixed
that test on main, but its Check ran "Pick Up a Block" instead: the
e2e-changed picker matched a test only when its name sat on the call's
line. Prettier wraps long names onto the next line, so the picker
credited those lines to the test above. Nine tests across five e2e files
were invisible to it. The picker now matches the name across the newline
and records the call's line.
@JamelHammoud

Copy link
Copy Markdown
Owner Author

Review: pass (1470b45)

The picker now matches the test regex across the whole source with the m flag, and \s* after ( lets a name sit on the next line. So a test whose name Prettier wraps is credited with its own changed lines instead of the test above it. The unit test covers the wrapped itUnlessWindows( case with the right line numbers, all 4 tests pass, the loop guide's description of e2e-changed stays true, and no protected path, copy or test weakening is involved.

Copy: 0 added, 0 changed, 0 removed, net 0

@JamelHammoud
JamelHammoud merged commit bbb4b01 into main Nov 13, 2026
12 checks passed
@JamelHammoud
JamelHammoud deleted the loop/repair/main-b0fc0e7-20261113225444-59891 branch November 13, 2026 23:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant