diff --git a/test/parallel/test-process-beforeexit.js b/test/parallel/test-process-beforeexit.js index 215e73dc0650f3..7b7ba48f7d8cb4 100644 --- a/test/parallel/test-process-beforeexit.js +++ b/test/parallel/test-process-beforeexit.js @@ -49,12 +49,24 @@ function tryListen() { // Test that a function invoked from the beforeExit handler can use a timer // to keep the event loop open, which can use another timer to keep the event // loop open, etc. +// +// After N times, call function `tryNextTick` to test behaviors of the +// `process.nextTick`. function tryRepeatedTimer() { const N = 5; let n = 0; const repeatedTimer = common.mustCall(function() { if (++n < N) setTimeout(repeatedTimer, 1); + else // n == N + process.once('beforeExit', common.mustCall(tryNextTick)); }, N); setTimeout(repeatedTimer, 1); } + +// Test if the callback of `process.nextTick` can be invoked. +function tryNextTick() { + process.nextTick(common.mustCall(function() { + process.once('beforeExit', common.mustNotCall()); + })); +}