Commit d5ba68f
authored
Make the E2E (stdio MCP) job robust to two harness flakes (#1172)
The "E2E (stdio MCP)" CI job runs `stdio-mcp.test.ts` alone, so it always
pays a cold `vite optimizeDeps` boot, the one variable step. Two unrelated
harness issues let that job go red without a real product regression.
1. Blind boot timeout. The scenario's test timeout (180s) was set equal to
the boot-URL wait inside `withLocalServer` (180s). When boot is slow both
deadlines fire together and vitest's generic "Test timed out in 180000ms"
wins, so the failure carries no clue about what boot got stuck on. Raise
the scenario timeout to 240s so the boot wait trips first, and have that
wait reject with the terminal tail (waitUntil otherwise throws a tail-less
"timed out"). A slow or wedged boot now reports how far it got.
2. Teardown crash on a truncated recording. `toAsciicast` JSON.parsed every
recording line; a PTY killed mid-write leaves a truncated final JSONL line,
throwing "Unexpected end of JSON input" and failing an otherwise-passing
test over a best-effort film artifact. Skip unparseable lines (a dropped
frame, not a failure) and make the cast write best-effort, matching the
recording fetch beside it.
Verified: targeted run passes repeatedly (~3-7s); forcing the boot wait to
trip yields the new descriptive error instead of a bare timeout.1 parent 5250f64 commit d5ba68f
3 files changed
Lines changed: 60 additions & 18 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
68 | 85 | | |
69 | 86 | | |
70 | 87 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
43 | 50 | | |
44 | 51 | | |
45 | 52 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
27 | 35 | | |
28 | 36 | | |
29 | 37 | | |
30 | 38 | | |
31 | 39 | | |
32 | 40 | | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
43 | 53 | | |
44 | 54 | | |
45 | 55 | | |
| |||
89 | 99 | | |
90 | 100 | | |
91 | 101 | | |
92 | | - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
93 | 111 | | |
94 | 112 | | |
95 | 113 | | |
| |||
0 commit comments