HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/dev/nowruzgan/ketabkhaneh/node_modules/nice-napi/test.js
'use strict';
const assert = require('assert');
const nice = require('./');

assert.strictEqual(nice.nice, nice);

const cur = nice(0);
assert.strictEqual(cur + 1, nice(1));
assert.strictEqual(cur + 1, nice(0));

if (+process.version.split('.')[0].slice(1) >= 12 && process.platform === 'linux') {
  let messages = 0;
  const { Worker } = require('worker_threads');
  const w = new Worker(`require("worker_threads").parentPort.postMessage(
    require("./")(1))`, { eval: true });
  w.on('message', (m) => {
    messages++;
    assert.strictEqual(cur + 1, nice(0));
    assert.strictEqual(cur + 2, m);
  });
  w.on('exit', () => {
    assert.strictEqual(messages, 1);
    assert.strictEqual(cur + 1, nice(0));
    test2();
  });
} else {
  test2();
}

function test2() {
  nice(10000);
  assert.strictEqual(nice(0), nice(10000));

  if (process.getuid() !== 0) {
    assert.throws(() => nice(-1), /nice\(\): Operation not permitted/);
  }
}