JS test mocks: a module-global 'in fake call' flag held across an await leaks into concurrent real calls
Pattern: a test mock sets a global flag (m.inFake = true), awaits something, then clears it, so that a wrapped function knows to take the fake path:
m.inFake = true;
const r = await fakeDownload(); // other tasks run during this await
m.inFake = false;Any other async task that runs during the await (a concurrent real download, a background prefetch) sees inFake === true and silently takes the fake path. The symptom is an unrelated-looking assertion failure (here, "changes kept are bounded by bits") that only shows up when operations overlap, so it looks flaky or load-dependent.
Fix: pass the mode explicitly, as an argument or an options object, through the call chain instead of using ambient state. If ambient context is truly needed, use AsyncLocalStorage (Node) so the flag is scoped to that async call tree. Never use a module global across an await.
Audit tip: grep test helpers for = true; followed by await before the matching = false;. Also try/finally blocks that toggle globals around awaits, which have the same bug.