mirror of
https://github.com/stablyai/orca.git
synced 2026-11-13 17:37:40 +00:00
* refactor(tooling): organize test runtime and maintenance owners * test(tooling): preserve relocated runtime fixture dependency edges * refactor(tooling): preserve xterm routing owner checks * ci(tooling): include routing owner in sparse checkout * test(tooling): preserve copied workflow dependency closures * fix(tooling): normalize hashed JSON assets in release parity * fix(tooling): distinguish asset aliases from literal references * fix(tooling): frame normalized asset reference payloads * fix(tooling): normalize decoded JSON asset references * refactor(tooling): organize build, CI and release owners * fix(tooling): align moved generator and workflow path contracts * fix(tooling): update generated plugin bundle owner banners * test(tooling): create relocated mobile verifier fixture directories * test(tooling): copy headless detector dependency closure * test(tooling): align native batch policy fixtures with owner path * fix(tooling): link moved reliability command to historical evidence * fix(tooling): preserve nested sandbox owners and canonical guide source * fix(tooling): target release version owners in checkout fixture
27 lines
1.0 KiB
JavaScript
27 lines
1.0 KiB
JavaScript
import { init, runBaseTests, setupEnvironment } from 'vitest/worker'
|
|
import {
|
|
decodeNodeRuntimeMessage,
|
|
encodeNodeRuntimeMessage
|
|
} from './vitest-node-runtime-ipc-codec.mjs'
|
|
|
|
if (!process.send) {
|
|
throw new Error('Node Vitest worker requires an IPC channel')
|
|
}
|
|
const send = process.send.bind(process)
|
|
// Vitest replaces process.exit with a throwing guard once a file runs, and the error then spins on the dead channel.
|
|
const exit = process.exit.bind(process)
|
|
// The pool stops workers by signal, so a closed channel means Vitest died; don't outlive it mid-file.
|
|
process.once('disconnect', () => exit(1))
|
|
|
|
init({
|
|
post: (response) => send(response),
|
|
on: (callback) => process.on('message', callback),
|
|
off: (callback) => process.off('message', callback),
|
|
serialize: encodeNodeRuntimeMessage,
|
|
deserialize: decodeNodeRuntimeMessage,
|
|
teardown: () => process.removeAllListeners('message'),
|
|
runTests: (state, traces) => runBaseTests('run', state, traces),
|
|
collectTests: (state, traces) => runBaseTests('collect', state, traces),
|
|
setup: setupEnvironment
|
|
})
|