MCPcopy Create free account
hub / github.com/RtlZeroMemory/Rezi / assertWorkerLoadExitCleanly

Function assertWorkerLoadExitCleanly

packages/native/scripts/smoke.mjs:75–98  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

73}
74
75async function assertWorkerLoadExitCleanly() {
76 const worker = new Worker(new URL("./smoke-worker.mjs", import.meta.url), {
77 workerData: { phase: "loadOnly" },
78 type: "module",
79 });
80 const exitPromise = new Promise((resolve) => worker.once("exit", resolve));
81
82 const loadResult = await new Promise((resolve, reject) => {
83 const onExit = (code) => reject(new Error(`load-only worker exited with ${code}`));
84 const onError = (err) => reject(err);
85 const onMessage = (msg) => {
86 worker.off("exit", onExit);
87 worker.off("error", onError);
88 resolve(msg);
89 };
90 worker.once("exit", onExit);
91 worker.once("error", onError);
92 worker.once("message", onMessage);
93 });
94
95 assert(loadResult.phase === "loadOnly", "worker load-only phase must complete");
96 const exitCode = await exitPromise;
97 assert(exitCode === 0, `load-only worker must exit cleanly, got: ${String(exitCode)}`);
98}
99
100await assertWorkerLoadExitCleanly();
101

Callers 1

smoke.mjsFile · 0.85

Calls 1

assertFunction · 0.85

Tested by

no test coverage detected