test: tests that assumed an idle machine wait for what they assert, or carry a budget for their work
Under a busy machine (the gate's lanes side by side, 12 busy cores) these went red at random: a press landed while the button was still busy, an answer was settled before it was asked for, a page grew past one wait's budget, a lazy chunk was transformed inside a 1 s wait, focus was taken a frame after the press. They now wait for the condition they depend on, preload the chunks they open, and the tests that do heavy work (whole-repo scans, the type-aware linter, module resets) carry an explicit budget naming that work. The whole suite four times under 12 busy-loop processes: red 4/4 before, 0/4 after.
This commit is contained in:
@@ -103,7 +103,8 @@ describe("the /watch entry", () => {
|
||||
expect(leaks).toEqual([]);
|
||||
});
|
||||
|
||||
it("catches a leak one import deep (the walk is not vacuous)", () => {
|
||||
// Parses every module the whole app reaches: ~1.3 s idle, past 5 s on a busy machine.
|
||||
it("catches a leak one import deep (the walk is not vacuous)", { timeout: 30_000 }, () => {
|
||||
// main.tsx is the app: walking it must find the app's i18n, and a page it only loads lazily.
|
||||
const app = reach(join(SRC, "main.tsx"));
|
||||
expect(app.has("src/i18n/index.ts")).toBe(true);
|
||||
|
||||
Reference in New Issue
Block a user