gui/ui/node_modules.bak/piscina/test/test-is-buffer-transferred.test.ts
Snider fad16c8c76
Some checks failed
Security Scan / security (push) Failing after 34s
Test / test (push) Failing after 1m44s
chore: sync workspace dependencies
Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-15 15:44:56 +00:00

36 lines
1 KiB
TypeScript

import assert from 'node:assert/strict';
import { test } from 'node:test';
import { resolve } from 'node:path';
import Piscina from '..';
function wait () {
// Timeout here should be little bit longer
// than in the worker timeout
// to ensure there are no flaky tests
return new Promise((resolve) => setTimeout(resolve, 10));
}
test('transferable objects must be transferred', async () => {
const pool = new Piscina({
filename: resolve(__dirname, 'fixtures/send-buffer-then-get-length.js'),
atomics: 'disabled'
});
await pool.run({}, { name: 'send' });
await wait();
const after = await pool.run({}, { name: 'get' });
assert.strictEqual(after, 0);
});
test('objects that implement transferable must be transferred', async () => {
const pool = new Piscina({
filename: resolve(
__dirname,
'fixtures/send-transferrable-then-get-length.js'
),
atomics: 'disabled'
});
await pool.run({}, { name: 'send' });
await wait();
const after = await pool.run({}, { name: 'get' });
assert.strictEqual(after, 0);
});