From fcc9ce803457f50bca8af7d7928626a312f07062 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 31 Aug 2026 16:39:54 +0000 Subject: [PATCH] test(driver-sql): budget the #13056 live-MySQL orphan-shadow tests (#13688) Both it() blocks in sql-driver-13056-orphan-shadow-column-cleanup.test.ts drive 2-3 full new SqlDriver() -> initObjects() -> disconnect() cycles against the live MySQL cell with no explicit timeout, so they inherited vitest's 5000ms default. Both observed CI failures were timeouts (no MySQL error in the logs), and four sibling files in this package already carry explicit per-test budgets. Give both an explicit 60_000 budget, in line with 3 of the 4 siblings, with a one-line comment naming why. No production code, assertion, or control changed. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01F3jdziLbAPGeceVNmSox5L --- ...river-13056-orphan-shadow-column-cleanup.test.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/packages/drivers/driver-sql/src/sql-driver-13056-orphan-shadow-column-cleanup.test.ts b/packages/drivers/driver-sql/src/sql-driver-13056-orphan-shadow-column-cleanup.test.ts index a90bb5a5ae..0c42eaa1cc 100644 --- a/packages/drivers/driver-sql/src/sql-driver-13056-orphan-shadow-column-cleanup.test.ts +++ b/packages/drivers/driver-sql/src/sql-driver-13056-orphan-shadow-column-cleanup.test.ts @@ -545,7 +545,13 @@ declareDialectCell(MYSQL_CELL, 'orphan shadow column cleanup (#13056)', (cell) = const V = 'k'.repeat(900); await knex(TABLE).insert({ id: 'a', kept: V }); await expect(knex(TABLE).insert({ id: 'b', kept: V })).rejects.toThrow(/duplicate/i); - }); + // #13688: 3 full new SqlDriver() -> initObjects() -> disconnect() cycles + // against live MySQL, plus 4 information_schema reads and 2 inserts — the + // inherited vitest default (5000ms) is not a chosen budget for that, and + // reddens unrelated PRs when the runner is merely a bit slow. Sized like + // this file's siblings (60_000 is 3 of the 4 sibling budgets); not an + // assertion that this test is normally anywhere near that slow. + }, 60_000); /** * The differ must go quiet afterwards for the right reason: with the column @@ -570,6 +576,9 @@ declareDialectCell(MYSQL_CELL, 'orphan shadow column cleanup (#13056)', (cell) = expect(again.filter((d) => d.kind === 'unmapped_column')).toEqual([]); const after = await catalog(TABLE); expect(after.columns).not.toContain(hashShadowColumnFor(`uniq_${TABLE}_retired`)); - }); + // #13688: 2 full new SqlDriver() -> initObjects() -> disconnect() cycles + // against live MySQL, plus detect/apply/detect and a catalog read — same + // inherited-default defect as the sibling test above; budgeted the same. + }, 60_000); }); });