mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-20 05:40:17 +08:00
node:test changes, matching Node 24.22: - getTestContext() returns the context of the test, suite or hook whose code is running: undefined at module top level, the root's context in module-level hooks, the suite's in a suite body and in the suite's hooks, and the test's in its body. In the afterEach and t.after hooks of a subtest cancelled by its parent's timeout, it returns each hook's owner. - The context rides the AsyncLocalStorage snapshot under a reserved id, so it follows a test across its awaits, into the async functions, promise callbacks, timers and other callbacks it schedules, and into concurrent subtests, which each see their own. - The root's fullName is "<root>", as its name is. - Optional chains over a test context, such as getTestContext()?.name, lower. AsyncLocalStorage enter and restore move into the always-linked async core so the test runner can use them. The snapshot holds the node's index in a table of live nodes, so a snapshot that outlives its node answers undefined. The get-test-context and get-test-context-cancelled fixtures compare the contexts seen at each point with Node, plain and with SCRIPTC_SAN=1.