current commit
261007.19 · lib: default node:bench warmup to 10 invocations
// Flags: --experimental-bench --no-warnings
'use strict';

const common = require('../common');
const assert = require('assert');
const { spawnSync } = require('child_process');
const { bench } = require('node:bench');

const child = spawnSync(process.execPath, [
  '--no-warnings',
  '--experimental-bench',
  '-e',
  'require("node:bench").bench("failure", () => { throw new Error(); })',
]);
assert.strictEqual(child.status, 1);

const completion = bench('automatic execution', {
  warmup: 0,
}, common.mustCall((b) => {
  b.record({ duration_ns: 1n, operations: 1 });
}, 30));

completion.then(common.mustCall((result) => {
  assert.strictEqual(result.name, 'automatic execution');
  assert.strictEqual(result.samples.length, 30);
  assert.strictEqual(result.error, undefined);
  assert.strictEqual(result.skip, undefined);
  assert.strictEqual(result.summary.mean > 0, true);
}));