nice.ts 907 B

12345678910111213141516171819202122232425262728293031
  1. import Piscina from '..';
  2. import { resolve } from 'path';
  3. import { test } from 'tap';
  4. test('can set niceness for threads on Linux', {
  5. skip: process.platform !== 'linux'
  6. }, async ({ equal }) => {
  7. const worker = new Piscina({
  8. filename: resolve(__dirname, 'fixtures/eval.js'),
  9. niceIncrement: 5
  10. });
  11. // ts-ignore because the dependency is not installed on Windows.
  12. // @ts-ignore
  13. const currentNiceness = (await import('nice-napi')).default(0);
  14. const result = await worker.runTask('require("nice-napi")()');
  15. // niceness is capped to 19 on Linux.
  16. const expected = Math.min(currentNiceness + 5, 19);
  17. equal(result, expected);
  18. });
  19. test('setting niceness never does anything bad', async ({ equal }) => {
  20. const worker = new Piscina({
  21. filename: resolve(__dirname, 'fixtures/eval.js'),
  22. niceIncrement: 5
  23. });
  24. const result = await worker.runTask('42');
  25. equal(result, 42);
  26. });