1// This benchmark is meant to exercise a grab bag of code paths that would 2// be expected to run slower under coverage. 3'use strict'; 4 5const common = require('../common.js'); 6const bench = common.createBenchmark(main, { 7 n: [1e5] 8}); 9const path = require('path'); 10const { rmSync } = require('fs'); 11const { spawnSync } = require('child_process'); 12const tmpdir = require('../../test/common/tmpdir'); 13 14const coverageDir = path.join(tmpdir.path, `./cov-${Date.now()}`); 15 16function main({ n }) { 17 bench.start(); 18 const result = spawnSync(process.execPath, [ 19 require.resolve('../fixtures/coverage-many-branches'), 20 ], { 21 env: { 22 NODE_V8_COVERAGE: coverageDir, 23 N: n, 24 ...process.env 25 } 26 }); 27 bench.end(n); 28 rmSync(coverageDir, { recursive: true, force: true }); 29 if (result.status !== 0) { 30 throw new Error(result.stderr.toString('utf8')); 31 } 32} 33