Skip to content

Commit 10635c0

Browse files
committed
test(cli): lift the never-read-reader quarantine now that the shim hang is fixed
Reverses 392f410 exactly: the `'never-read'` spawn in `beforeAll` and the case it feeds are live again, and the definite-assignment assertion the quarantine needed is gone with it. The file is byte-for-byte its pre-quarantine shape (blob 131331e) — nothing else has touched it since. Per the maintainer's ruling A (2026-09-03): the quarantine is not a resting state, and the PR that fixes the hang re-enables the case in the same change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016yfqQh2dBgPAymYd7xipza
1 parent 2919b74 commit 10635c0

1 file changed

Lines changed: 6 additions & 36 deletions

File tree

packages/cli/test/run-dev-unbuilt-workspace.e2e.test.ts

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -291,13 +291,7 @@ let unbuilt: Run;
291291
let built: Run;
292292
let genuinelyMissing: Run;
293293
let stalled: Run;
294-
// Definite-assignment assertion for the duration of the QUARANTINE below: the
295-
// `'never-read'` spawn in `beforeAll` is commented out, so nothing assigns this
296-
// and `strict` reports TS2454 at each of the three reads inside the skipped
297-
// case. Restoring that spawn makes the `!` redundant again, so it goes when the
298-
// quarantine is lifted. (Measured: the package's own `typecheck` is
299-
// `include: ["src"]`, so it never compiles this file and would not have said.)
300-
let unread!: Lifetime;
294+
let unread: Lifetime;
301295
let closedEnd: Lifetime;
302296

303297
beforeAll(async () => {
@@ -306,18 +300,10 @@ beforeAll(async () => {
306300
built = await runCli(REAL_COMMAND, dir, undefined);
307301
genuinelyMissing = await runCli(['definitely-not-a-command'], dir, undefined);
308302
stalled = await runCliWhileParentStalls(REAL_COMMAND, dir, `--import ${UNBUILT_HOOK}`);
309-
// ⛔ QUARANTINED — the `'never-read'` child is NOT spawned while the case it
310-
// feeds is skipped. See the quarantine note on
311-
// `it.skip('gives up and exits instead of waiting forever')` further down:
312-
// this spawn is where the 180 s `UNREAD_HARD_CAP_MS` is paid under CI load,
313-
// and that one case is its ONLY consumer — `unread` is read nowhere else in
314-
// this file. The PR that fixes the hang in `bin/run-dev.js` un-skips that case
315-
// and restores these four lines verbatim, in the same change:
316-
//
317-
// // ⛔ Nothing measured above is consulted here. Case 1's wall clock is read by
318-
// // the failure message below, as evidence; the ceiling is a constant, so a
319-
// // slow sample can no longer size the instrument that judges the next run.
320-
// unread = await runCliAgainstDeadReader(REAL_COMMAND, dir, `--import ${UNBUILT_HOOK}`, 'never-read', UNREAD_HARD_CAP_MS);
303+
// ⛔ Nothing measured above is consulted here. Case 1's wall clock is read by
304+
// the failure message below, as evidence; the ceiling is a constant, so a
305+
// slow sample can no longer size the instrument that judges the next run.
306+
unread = await runCliAgainstDeadReader(REAL_COMMAND, dir, `--import ${UNBUILT_HOOK}`, 'never-read', UNREAD_HARD_CAP_MS);
321307
closedEnd = await runCliAgainstDeadReader(REAL_COMMAND, dir, `--import ${UNBUILT_HOOK}`, 'destroy-read-end', UNREAD_HARD_CAP_MS);
322308
}, RUN_TIMEOUT_MS * 6);
323309

@@ -406,23 +392,7 @@ describe('the mirror direction: a reader that is never coming back', () => {
406392
* this replaces armed no bound at all (`write()` returned true, so an early
407393
* return skipped it) and read as correct in every stalled-reader test.
408394
*/
409-
// ⛔ QUARANTINED under the maintainer's ruling A of 2026-09-03 on
410-
// objectstack#14832 — do not un-skip it on its own.
411-
//
412-
// WHY. The `'never-read'` child this case reads HANGS under CI load. The
413-
// defect is in the product — `bin/run-dev.js`, the other half of #14832 —
414-
// and NOT a cap that is set too low, so raising `UNREAD_HARD_CAP_MS` would buy
415-
// nothing and would only make each failure slower. On `Test Core (1/6)` the
416-
// harness SIGKILLed the child at the 180 s cap and this assertion red, and
417-
// every occurrence EJECTED A WHOLE MERGE-QUEUE BATCH: `main` could not advance
418-
// for hours behind this one case, which is what the ruling weighed.
419-
//
420-
// RE-ENABLE CONDITION. The PR that fixes the hang in `bin/run-dev.js` un-skips
421-
// this case in the SAME change, and restores the `'never-read'` spawn in
422-
// `beforeAll` (kept there verbatim, commented). The body below and all of its
423-
// comments are untouched, so lifting the quarantine is `it.skip` -> `it` plus
424-
// that one spawn line — nothing here has to be reconstructed.
425-
it.skip('gives up and exits instead of waiting forever', () => {
395+
it('gives up and exits instead of waiting forever', () => {
426396
// A child still alive at the cap was SIGKILLed: signal set, code null.
427397
// That is the hang, and it is the whole point of this case.
428398
//

0 commit comments

Comments
 (0)