mirror of
https://github.com/nodejs/node.git
synced 2025-05-03 02:06:12 +00:00

ESLint 4.x has stricter linting than previous versions. We are currently using the legacy indentation rules in the test directory. This commit changes the indentation of files to comply with the stricter 4.x linting and enable stricter linting in the test directory. PR-URL: https://github.com/nodejs/node/pull/14431 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: Trevor Norris <trev.norris@gmail.com>
60 lines
1.8 KiB
JavaScript
60 lines
1.8 KiB
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
if (common.isWindows) {
|
|
// No way to send CTRL_C_EVENT to processes from JS right now.
|
|
common.skip('platform not supported');
|
|
}
|
|
|
|
const assert = require('assert');
|
|
const binding = process.binding('util');
|
|
|
|
[(next) => {
|
|
// Test with no signal observed.
|
|
binding.startSigintWatchdog();
|
|
const hadPendingSignals = binding.stopSigintWatchdog();
|
|
assert.strictEqual(hadPendingSignals, false);
|
|
next();
|
|
},
|
|
(next) => {
|
|
// Test with one call to the watchdog, one signal.
|
|
binding.startSigintWatchdog();
|
|
process.kill(process.pid, 'SIGINT');
|
|
waitForPendingSignal(common.mustCall(() => {
|
|
const hadPendingSignals = binding.stopSigintWatchdog();
|
|
assert.strictEqual(hadPendingSignals, true);
|
|
next();
|
|
}));
|
|
},
|
|
(next) => {
|
|
// Nested calls are okay.
|
|
binding.startSigintWatchdog();
|
|
binding.startSigintWatchdog();
|
|
process.kill(process.pid, 'SIGINT');
|
|
waitForPendingSignal(common.mustCall(() => {
|
|
const hadPendingSignals1 = binding.stopSigintWatchdog();
|
|
const hadPendingSignals2 = binding.stopSigintWatchdog();
|
|
assert.strictEqual(hadPendingSignals1, true);
|
|
assert.strictEqual(hadPendingSignals2, false);
|
|
next();
|
|
}));
|
|
},
|
|
() => {
|
|
// Signal comes in after first call to stop.
|
|
binding.startSigintWatchdog();
|
|
binding.startSigintWatchdog();
|
|
const hadPendingSignals1 = binding.stopSigintWatchdog();
|
|
process.kill(process.pid, 'SIGINT');
|
|
waitForPendingSignal(common.mustCall(() => {
|
|
const hadPendingSignals2 = binding.stopSigintWatchdog();
|
|
assert.strictEqual(hadPendingSignals1, false);
|
|
assert.strictEqual(hadPendingSignals2, true);
|
|
}));
|
|
}].reduceRight((a, b) => common.mustCall(b).bind(null, a))();
|
|
|
|
function waitForPendingSignal(cb) {
|
|
if (binding.watchdogHasPendingSigint())
|
|
cb();
|
|
else
|
|
setTimeout(waitForPendingSignal, 10, cb);
|
|
}
|