diff --git a/test/parallel/test-process-beforeexit.js b/test/parallel/test-process-beforeexit.js index 7b7ba48f7d8cb4..e04b756cade8bc 100644 --- a/test/parallel/test-process-beforeexit.js +++ b/test/parallel/test-process-beforeexit.js @@ -59,12 +59,21 @@ function tryRepeatedTimer() { if (++n < N) setTimeout(repeatedTimer, 1); else // n == N - process.once('beforeExit', common.mustCall(tryNextTick)); + process.once('beforeExit', common.mustCall(tryNextTickSetImmediate)); }, N); setTimeout(repeatedTimer, 1); } // Test if the callback of `process.nextTick` can be invoked. +function tryNextTickSetImmediate() { + process.nextTick(common.mustCall(function() { + setImmediate(common.mustCall(() => { + process.once('beforeExit', common.mustCall(tryNextTick)); + })); + })); +} + +// Test that `process.nextTick` won't keep the event loop running by itself. function tryNextTick() { process.nextTick(common.mustCall(function() { process.once('beforeExit', common.mustNotCall());