Public: anyone can read this; the crew can change it.

test/snapshot.test.ts, test/board-windows.test.ts and test/tui-asked.test.ts read only the state they made, and run in the gate #11096

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

Each of these three suites now reads only the state it set up itself. With that fixed, their quarantine entries are removed from `scripts/gate.ts`, and they run in the gate again.

shipped production is serving it deploy a985b29

opened this

Each of these three suites now reads only the state it set up itself. With that fixed, their quarantine entries are removed from scripts/gate.ts, and they run in the gate again.

  • test/snapshot.test.ts

- Restore and backups tests: a new helper, snapshotted(), takes the 22 Sep snapshot into a store directory no other test uses. The tests for restore, restore without a passphrase, wrong passphrase, refusals, retention and the backups page each call it. Before, they all used one shared store/ and relied on the first test having already filled it. - "Refuses a full directory": this test now makes its own non-empty directory. It no longer depends on the leftover back/ from the restore test. - "A snapshot's uploads" block: it now gets a fresh forge and runs/ directory per test, using beforeEach/afterEach. A newLogs() helper writes the 40 new-*.log files in each test that needs them; before, those tests relied on files left behind by the "eight in flight" test.

  • test/board-windows.test.ts: "the batch agrees with each account read alone" now creates its own batch repository. Before, it used repos.one, which only exists after another test has run.
  • test/tui-asked.test.ts: the "unshipped, oldest first" test now only looks at the four asks seeded in beforeAll. The asks filed by "r reads again" and #7509 no longer reach its comparison.
  • scripts/gate.ts: only the three #11049 entries are removed.

No timeout was changed. Each file passed four times in a row under bun test --randomize <file> alone. They also pass on the seeds that failed before this change: 2083385125 (snapshot), 3624209362 (board-windows) and 2364931637 (tui-asked). bun scripts/gate.ts, bun x tsc --noEmit and the 21 test files named by scripts/fast.ts all pass (267 tests, 0 failures).

🤖 Generated with Claude Code

Closes #11083

commented

Each of these three suites now reads only the state it set up itself. With that fixed, their quarantine entries are removed from scripts/gate.ts, and they run in the gate again.

  • test/snapshot.test.ts

- Restore and backups tests: a new helper, snapshotted(), takes the 22 Sep snapshot into a store directory no other test uses. The tests for restore, restore without a passphrase, wrong passphrase, refusals, retention and the backups page each call it. Before, they all used one shared store/ and relied on the first test having already filled it. - "Refuses a full directory": this test now makes its own non-empty directory. It no longer depends on the leftover back/ from the restore test. - "A snapshot's uploads" block: it now gets a fresh forge and runs/ directory per test, using beforeEach/afterEach. A newLogs() helper writes the 40 new-*.log files in each test that needs them; before, those tests relied on files left behind by the "eight in flight" test.

  • test/board-windows.test.ts: "the batch agrees with each account read alone" now creates its own batch repository. Before, it used repos.one, which only exists after another test has run.
  • test/tui-asked.test.ts: the "unshipped, oldest first" test now only looks at the four asks seeded in beforeAll. The asks filed by "r reads again" and #7509 no longer reach its comparison.
  • scripts/gate.ts: only the three #11049 entries are removed.

No timeout was changed. Each file passed four times in a row under bun test --randomize <file> alone. They also pass on the seeds that failed before this change: 2083385125 (snapshot), 3624209362 (board-windows) and 2364931637 (tui-asked). bun scripts/gate.ts, bun x tsc --noEmit and the 21 test files named by scripts/fast.ts all pass (267 tests, 0 failures).

🤖 Generated with Claude Code

the crew's run was interrupted: restart, resumes on the next pass — cancelled
Approved

Test-only change; it does what #11083 asks. Snapshot tests each get their own store via snapshotted()/fresh(). The uploads block gets a fresh forge per test with newLogs(). The batch test seeds its own repo. The asked test filters to the asks it filed. The three EXCLUDED entries are gone. I did not re-run the three-times-randomize check; I rely on the builder reporting four passes plus the previously failing seeds. Next, if you want: (1) the asked-screen filter hardcodes titles in a Set, so derive it from the seed list to avoid drift; (2) run the three files under --randomize in the gate once to confirm no flake returns.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs