1'use strict'; 2 3// This tests that --cpu-prof-dir and --cpu-prof-name works together. 4 5const common = require('../common'); 6const fixtures = require('../common/fixtures'); 7common.skipIfInspectorDisabled(); 8 9const assert = require('assert'); 10const fs = require('fs'); 11const path = require('path'); 12const { spawnSync } = require('child_process'); 13 14const tmpdir = require('../common/tmpdir'); 15const { 16 getCpuProfiles, 17 kCpuProfInterval, 18 env, 19 verifyFrames 20} = require('../common/cpu-prof'); 21 22{ 23 tmpdir.refresh(); 24 const dir = path.join(tmpdir.path, 'prof'); 25 const file = path.join(dir, 'test.cpuprofile'); 26 const output = spawnSync(process.execPath, [ 27 '--cpu-prof', 28 '--cpu-prof-interval', 29 kCpuProfInterval, 30 '--cpu-prof-name', 31 'test.cpuprofile', 32 '--cpu-prof-dir', 33 dir, 34 fixtures.path('workload', 'fibonacci.js'), 35 ], { 36 cwd: tmpdir.path, 37 env 38 }); 39 if (output.status !== 0) { 40 console.log(output.stderr.toString()); 41 } 42 assert.strictEqual(output.status, 0); 43 assert(fs.existsSync(dir)); 44 const profiles = getCpuProfiles(dir); 45 assert.deepStrictEqual(profiles, [file]); 46 verifyFrames(output, file, 'fibonacci.js'); 47} 48