From 1fa7347ab9c487fd0bc014fe7ca573b83d52fbf8 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Wed, 4 Dec 2019 00:17:10 -0500 Subject: [PATCH] test: remove common.busyLoop() This commit replaces common.busyLoop() with sleep(). PR-URL: https://github.com/nodejs/node/pull/30787 Reviewed-By: Rich Trott Reviewed-By: Gus Caplan Reviewed-By: Richard Lau --- test/common/README.md | 5 ----- test/common/index.js | 7 ------- test/common/index.mjs | 2 -- test/parallel/test-timers-nested.js | 6 ++++-- test/parallel/test-timers-next-tick.js | 4 +++- test/sequential/test-performance-eventloopdelay.js | 5 +++-- test/sequential/test-timers-block-eventloop.js | 4 +++- test/sequential/test-timers-blocking-callback.js | 4 +++- .../test-timers-set-interval-excludes-callback-duration.js | 6 ++++-- 9 files changed, 20 insertions(+), 23 deletions(-) diff --git a/test/common/README.md b/test/common/README.md index efb32a2cdde360..8f787dc3db530b 100644 --- a/test/common/README.md +++ b/test/common/README.md @@ -45,11 +45,6 @@ tasks. Takes `whitelist` and concats that with predefined `knownGlobals`. -### busyLoop(time) -* `time` [<number>][] - -Blocks for `time` amount of time. - ### canCreateSymLink() * return [<boolean>][] diff --git a/test/common/index.js b/test/common/index.js index 4154ea38c7d294..d774bffe0fadb5 100644 --- a/test/common/index.js +++ b/test/common/index.js @@ -464,12 +464,6 @@ function nodeProcessAborted(exitCode, signal) { } } -function busyLoop(time) { - const startTime = Date.now(); - const stopTime = startTime + time; - while (Date.now() < stopTime) {} -} - function isAlive(pid) { try { process.kill(pid, 'SIGCONT'); @@ -727,7 +721,6 @@ function runWithInvalidFD(func) { module.exports = { allowGlobals, buildType, - busyLoop, canCreateSymLink, childShouldThrowAndAbort, createZeroFilledFile, diff --git a/test/common/index.mjs b/test/common/index.mjs index 9dafe9723c472c..28c7cdeb406247 100644 --- a/test/common/index.mjs +++ b/test/common/index.mjs @@ -40,7 +40,6 @@ const { skip, ArrayStream, nodeProcessAborted, - busyLoop, isAlive, expectWarning, expectsError, @@ -87,7 +86,6 @@ export { skip, ArrayStream, nodeProcessAborted, - busyLoop, isAlive, expectWarning, expectsError, diff --git a/test/parallel/test-timers-nested.js b/test/parallel/test-timers-nested.js index 0ff228abf50311..b983b002c5f5ad 100644 --- a/test/parallel/test-timers-nested.js +++ b/test/parallel/test-timers-nested.js @@ -1,7 +1,9 @@ +// Flags: --expose-internals 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); +const { sleep } = require('internal/util'); // Make sure we test 0ms timers, since they would had always wanted to run on // the current tick, and greater than 0ms timers, for scenarios where the @@ -23,7 +25,7 @@ scenarios.forEach(function(delay) { // Busy loop for the same timeout used for the nested timer to ensure that // we are in fact expiring the nested timer. - common.busyLoop(delay); + sleep(delay); // The purpose of running this assert in nextTick is to make sure it runs // after A but before the next iteration of the libuv event loop. diff --git a/test/parallel/test-timers-next-tick.js b/test/parallel/test-timers-next-tick.js index 89ebf6c8c1a9d7..12335013660423 100644 --- a/test/parallel/test-timers-next-tick.js +++ b/test/parallel/test-timers-next-tick.js @@ -1,6 +1,8 @@ +// Flags: --expose-internals 'use strict'; const common = require('../common'); +const { sleep } = require('internal/util'); // This test verifies that the next tick queue runs after each // individual Timeout, as well as each individual Immediate. @@ -16,7 +18,7 @@ const t2 = setTimeout(common.mustNotCall(), 1); const t3 = setTimeout(common.mustNotCall(), 1); setTimeout(common.mustCall(), 1); -common.busyLoop(5); +sleep(5); setImmediate(common.mustCall(() => { process.nextTick(() => { diff --git a/test/sequential/test-performance-eventloopdelay.js b/test/sequential/test-performance-eventloopdelay.js index 7b9527b3863905..8e7ee4f0ad9cbf 100644 --- a/test/sequential/test-performance-eventloopdelay.js +++ b/test/sequential/test-performance-eventloopdelay.js @@ -1,4 +1,4 @@ -// Flags: --expose-gc +// Flags: --expose-gc --expose-internals 'use strict'; const common = require('../common'); @@ -6,6 +6,7 @@ const assert = require('assert'); const { monitorEventLoopDelay } = require('perf_hooks'); +const { sleep } = require('internal/util'); { const histogram = monitorEventLoopDelay(); @@ -54,7 +55,7 @@ const { histogram.enable(); let m = 5; function spinAWhile() { - common.busyLoop(1000); + sleep(1000); if (--m > 0) { setTimeout(spinAWhile, common.platformTimeout(500)); } else { diff --git a/test/sequential/test-timers-block-eventloop.js b/test/sequential/test-timers-block-eventloop.js index 811216fcb29e7d..6118695c9235a2 100644 --- a/test/sequential/test-timers-block-eventloop.js +++ b/test/sequential/test-timers-block-eventloop.js @@ -1,7 +1,9 @@ +// Flags: --expose-internals 'use strict'; const common = require('../common'); const assert = require('assert'); +const { sleep } = require('internal/util'); let called = false; const t1 = setInterval(() => { @@ -14,5 +16,5 @@ const t1 = setInterval(() => { }, 10); const t2 = setInterval(() => { - common.busyLoop(20); + sleep(20); }, 10); diff --git a/test/sequential/test-timers-blocking-callback.js b/test/sequential/test-timers-blocking-callback.js index 053bc767b8fa13..a5e0f596a34b93 100644 --- a/test/sequential/test-timers-blocking-callback.js +++ b/test/sequential/test-timers-blocking-callback.js @@ -1,3 +1,4 @@ +// Flags: --expose-internals 'use strict'; /* @@ -25,6 +26,7 @@ const common = require('../common'); const assert = require('assert'); +const { sleep } = require('internal/util'); const TIMEOUT = 100; @@ -65,7 +67,7 @@ function blockingCallback(retry, callback) { return callback(); } else { // Block by busy-looping to trigger the issue - common.busyLoop(TIMEOUT); + sleep(TIMEOUT); timeCallbackScheduled = Date.now(); setTimeout(blockingCallback.bind(null, retry, callback), TIMEOUT); diff --git a/test/sequential/test-timers-set-interval-excludes-callback-duration.js b/test/sequential/test-timers-set-interval-excludes-callback-duration.js index 90eb16b0e259b3..b32c7e7e3c2e9c 100644 --- a/test/sequential/test-timers-set-interval-excludes-callback-duration.js +++ b/test/sequential/test-timers-set-interval-excludes-callback-duration.js @@ -1,13 +1,15 @@ +// Flags: --expose-internals 'use strict'; -const common = require('../common'); +require('../common'); const assert = require('assert'); +const { sleep } = require('internal/util'); let cntr = 0; let first; const t = setInterval(() => { cntr++; if (cntr === 1) { - common.busyLoop(100); + sleep(100); // Ensure that the event loop passes before the second interval setImmediate(() => assert.strictEqual(cntr, 1)); first = Date.now();