test-is-buffer-transferred.ts 870 B

1234567891011121314151617181920212223242526272829
  1. import Piscina from '..';
  2. import { test } from 'tap';
  3. import { resolve } from 'path';
  4. function wait () {
  5. return new Promise((resolve) => setTimeout(resolve, 1500));
  6. }
  7. test('transferable objects must be transferred', async ({ equal }) => {
  8. const pool = new Piscina({
  9. filename: resolve(__dirname, 'fixtures/send-buffer-then-get-length.js'),
  10. useAtomics: false
  11. });
  12. await pool.run({}, { name: 'send' });
  13. await wait();
  14. const after = await pool.run({}, { name: 'get' });
  15. equal(after, 0);
  16. });
  17. test('objects that implement transferable must be transferred', async ({ equal }) => {
  18. const pool = new Piscina({
  19. filename: resolve(__dirname, 'fixtures/send-transferrable-then-get-length.js'),
  20. useAtomics: false
  21. });
  22. await pool.run({}, { name: 'send' });
  23. await wait();
  24. const after = await pool.run({}, { name: 'get' });
  25. equal(after, 0);
  26. });