You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

37 lines
941 B

'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/);
}
}