Skip to content

Commit 8850555

Browse files
andreubotelladanielleadams
authored andcommitted
test: work scheduled in process.nextTick can keep the event loop alive
PR-URL: #43787 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Ujjwal Sharma <ryzokuken@disroot.org>
1 parent cd0d9dd commit 8850555

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

test/parallel/test-process-beforeexit.js

+10-1
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,21 @@ function tryRepeatedTimer() {
5959
if (++n < N)
6060
setTimeout(repeatedTimer, 1);
6161
else // n == N
62-
process.once('beforeExit', common.mustCall(tryNextTick));
62+
process.once('beforeExit', common.mustCall(tryNextTickSetImmediate));
6363
}, N);
6464
setTimeout(repeatedTimer, 1);
6565
}
6666

6767
// Test if the callback of `process.nextTick` can be invoked.
68+
function tryNextTickSetImmediate() {
69+
process.nextTick(common.mustCall(function() {
70+
setImmediate(common.mustCall(() => {
71+
process.once('beforeExit', common.mustCall(tryNextTick));
72+
}));
73+
}));
74+
}
75+
76+
// Test that `process.nextTick` won't keep the event loop running by itself.
6877
function tryNextTick() {
6978
process.nextTick(common.mustCall(function() {
7079
process.once('beforeExit', common.mustNotCall());

0 commit comments

Comments
 (0)