diff options
Diffstat (limited to 'cli/tests/node_compat/test/parallel/test-process-beforeexit.js')
-rw-r--r-- | cli/tests/node_compat/test/parallel/test-process-beforeexit.js | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/cli/tests/node_compat/test/parallel/test-process-beforeexit.js b/cli/tests/node_compat/test/parallel/test-process-beforeexit.js deleted file mode 100644 index 7ac789c69..000000000 --- a/cli/tests/node_compat/test/parallel/test-process-beforeexit.js +++ /dev/null @@ -1,88 +0,0 @@ -// deno-fmt-ignore-file -// deno-lint-ignore-file - -// Copyright Joyent and Node contributors. All rights reserved. MIT license. -// Taken from Node 18.12.1 -// This file is automatically generated by `tools/node_compat/setup.ts`. Do not modify this file manually. - -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -'use strict'; -const common = require('../common'); -const net = require('net'); - -process.once('beforeExit', common.mustCall(tryImmediate)); - -function tryImmediate() { - setImmediate(common.mustCall(() => { - process.once('beforeExit', common.mustCall(tryTimer)); - })); -} - -function tryTimer() { - setTimeout(common.mustCall(() => { - process.once('beforeExit', common.mustCall(tryListen)); - }), 1); -} - -function tryListen() { - net.createServer() - .listen(0) - .on('listening', common.mustCall(function() { - this.close(); - process.once('beforeExit', common.mustCall(tryRepeatedTimer)); - })); -} - -// 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(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()); - })); -} |