1'use strict'; 2 3// This tests that --cpu-prof generates CPU profile from worker 4// when execArgv is set. 5 6const common = require('../common'); 7const fixtures = require('../common/fixtures'); 8common.skipIfInspectorDisabled(); 9 10const assert = require('assert'); 11const { spawnSync } = require('child_process'); 12 13const tmpdir = require('../common/tmpdir'); 14const { 15 getCpuProfiles, 16 kCpuProfInterval, 17 verifyFrames 18} = require('../common/cpu-prof'); 19 20{ 21 tmpdir.refresh(); 22 const output = spawnSync(process.execPath, [ 23 fixtures.path('workload', 'fibonacci-worker-argv.js'), 24 ], { 25 cwd: tmpdir.path, 26 env: { 27 ...process.env, 28 CPU_PROF_INTERVAL: kCpuProfInterval 29 } 30 }); 31 if (output.status !== 0) { 32 console.log(output.stderr.toString()); 33 } 34 assert.strictEqual(output.status, 0); 35 const profiles = getCpuProfiles(tmpdir.path); 36 assert.strictEqual(profiles.length, 1); 37 verifyFrames(output, profiles[0], 'fibonacci.js'); 38} 39