ci: run node tests directly instead of translated files (#15565)

Co-authored-by: nektro <nektro@users.noreply.github.com>
This commit is contained in:
Meghan Denny
2024-12-03 22:10:50 -08:00
committed by GitHub
parent 0d5e4e162b
commit 23299dadf6
1894 changed files with 51198 additions and 45553 deletions

View File

@@ -0,0 +1,28 @@
// Flags: --debug-arraybuffer-allocations
'use strict';
const common = require('../common');
const assert = require('assert');
const { Worker } = require('worker_threads');
// Regression test for https://github.com/nodejs/node/issues/28777
// Make sure that SharedArrayBuffers and transferred ArrayBuffers created in
// Worker threads are accessible after the creating thread ended.
for (const ctor of ['ArrayBuffer', 'SharedArrayBuffer']) {
const w = new Worker(`
const { parentPort } = require('worker_threads');
const arrayBuffer = new ${ctor}(4);
parentPort.postMessage(
arrayBuffer,
'${ctor}' === 'SharedArrayBuffer' ? [] : [arrayBuffer]);
`, { eval: true });
let arrayBuffer;
w.once('message', common.mustCall((message) => arrayBuffer = message));
w.once('exit', common.mustCall(() => {
assert.strictEqual(arrayBuffer.constructor.name, ctor);
const uint8array = new Uint8Array(arrayBuffer);
uint8array[0] = 42;
assert.deepStrictEqual(uint8array, new Uint8Array([42, 0, 0, 0]));
}));
}