1'use strict'; 2 3// This tests that --cpu-prof generates CPU profile when 4// process.exit(55) exits the process. 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 env, 18 verifyFrames 19} = require('../common/cpu-prof'); 20 21{ 22 tmpdir.refresh(); 23 const output = spawnSync(process.execPath, [ 24 '--cpu-prof', 25 '--cpu-prof-interval', 26 kCpuProfInterval, 27 fixtures.path('workload', 'fibonacci-exit.js'), 28 ], { 29 cwd: tmpdir.path, 30 env 31 }); 32 if (output.status !== 55) { 33 console.log(output.stderr.toString()); 34 } 35 assert.strictEqual(output.status, 55); 36 const profiles = getCpuProfiles(tmpdir.path); 37 assert.strictEqual(profiles.length, 1); 38 verifyFrames(output, profiles[0], 'fibonacci-exit.js'); 39} 40