diff --git a/lib/internal/test_runner/test.js b/lib/internal/test_runner/test.js index f2e8e41..f1d15ad 100644 --- a/lib/internal/test_runner/test.js +++ b/lib/internal/test_runner/test.js @@ -56,7 +56,7 @@ const { } = require('#internal/validators') const { setTimeout } = require('#timers/promises') const { TIMEOUT_MAX } = require('#internal/timers') -const { cpus } = require('os') +const { cpus, availableParallelism } = require('os') const { bigint: hrtime } = process.hrtime const kCallbackAndPromisePresent = 'callbackAndPromisePresent' const kCancelledByParent = 'cancelledByParent' @@ -205,7 +205,9 @@ class Test extends AsyncResource { case 'boolean': if (concurrency) { - this.concurrency = parent === null ? MathMax(cpus().length - 1, 1) : Infinity + this.concurrency = parent === null + ? MathMax((typeof availableParallelism === 'undefined' ? cpus().length : availableParallelism()) - 1, 1) + : Infinity } else { this.concurrency = 1 }