diff --git a/benchmark/test_runner/multi-files.js b/benchmark/test_runner/multi-files.js new file mode 100644 index 00000000000000..83c8f11b460804 --- /dev/null +++ b/benchmark/test_runner/multi-files.js @@ -0,0 +1,27 @@ +'use strict'; +const common = require('../common'); + +const bench = common.createBenchmark(main, { + patterns: ['test/fixtures/test-runner/**/*.?(c|m)js', 'test/parallel/test-runner-*'], + concurrency: ['yes', 'no'], +}, { + flags: ['--expose-internals'], +}); + + +function main({ patterns, concurrency }) { + const { run } = require('node:test'); + const { Glob } = require('internal/fs/glob'); + const glob = new Glob([patterns]); + const files = glob.globSync().filter((f) => !f.includes('never_ending') && !f.includes('watch-mode')); + concurrency = concurrency === 'yes'; + let tests = 0; + + bench.start(); + (async function() { + const stream = run({ concurrency, files }); + for await (const { type } of stream) { + if (type === 'test:start') tests++; + } + })().then(() => bench.end(tests)); +} diff --git a/benchmark/test_runner/suite-tests.js b/benchmark/test_runner/suite-tests.js index 88b2aa1c74b19e..5d4a4b1205beed 100644 --- a/benchmark/test_runner/suite-tests.js +++ b/benchmark/test_runner/suite-tests.js @@ -1,14 +1,11 @@ 'use strict'; const common = require('../common'); -const { finished } = require('node:stream/promises'); - -const reporter = require('../fixtures/empty-test-reporter'); const { describe, it } = require('node:test'); const bench = common.createBenchmark(main, { numberOfSuites: [10, 100], - testsPerSuite: [10, 100, 1000], + testsPerSuite: [10, 100], testType: ['sync', 'async'], concurrency: ['yes', 'no'], }, { @@ -52,8 +49,6 @@ async function run({ numberOfSuites, testsPerSuite, testType, concurrency }) { } } - await finished(reporter); - return numberOfSuites * testsPerSuite; }