From 59fdfa34550fe98f884ae90db58392db03d497ae Mon Sep 17 00:00:00 2001 From: Khafra Date: Mon, 27 Feb 2023 03:24:53 -0500 Subject: [PATCH] wptrunner: expose gc (#1974) --- test/wpt/runner/runner/worker.mjs | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/test/wpt/runner/runner/worker.mjs b/test/wpt/runner/runner/worker.mjs index 55629570951..59c628dd23b 100644 --- a/test/wpt/runner/runner/worker.mjs +++ b/test/wpt/runner/runner/worker.mjs @@ -1,20 +1,14 @@ +import buffer from 'node:buffer' +import { readFileSync } from 'node:fs' import { join } from 'node:path' -import { runInThisContext } from 'node:vm' +import { setFlagsFromString } from 'node:v8' +import { runInNewContext, runInThisContext } from 'node:vm' import { parentPort, workerData } from 'node:worker_threads' -import { readFileSync } from 'node:fs' -import buffer from 'node:buffer' import { - setGlobalOrigin, - Response, - Request, - fetch, - FormData, - File, - Headers, - FileReader + fetch, File, FileReader, FormData, Headers, Request, Response, setGlobalOrigin } from '../../../../index.js' -import { WebSocket } from '../../../../lib/websocket/websocket.js' import { CloseEvent } from '../../../../lib/websocket/events.js' +import { WebSocket } from '../../../../lib/websocket/websocket.js' const { initScripts, meta, test, url, path } = workerData @@ -142,5 +136,10 @@ for (const script of meta.scripts) { runInThisContext(script) } +// A few tests require gc, which can't be passed to a Worker. +// see https://github.com/nodejs/node/issues/16595#issuecomment-340288680 +setFlagsFromString('--expose-gc') +globalThis.gc = runInNewContext('gc') + // Finally, run the test. runInThisContext(test)