1'use strict'; 2 3// This tests that relative --cpu-prof-dir works. 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// relative --cpu-prof-dir 23{ 24 tmpdir.refresh(); 25 const output = spawnSync(process.execPath, [ 26 '--cpu-prof', 27 '--cpu-prof-interval', 28 kCpuProfInterval, 29 '--cpu-prof-dir', 30 'prof', 31 fixtures.path('workload', 'fibonacci.js'), 32 ], { 33 cwd: tmpdir.path, 34 env 35 }); 36 if (output.status !== 0) { 37 console.log(output.stderr.toString()); 38 } 39 assert.strictEqual(output.status, 0); 40 const dir = path.join(tmpdir.path, 'prof'); 41 assert(fs.existsSync(dir)); 42 const profiles = getCpuProfiles(dir); 43 assert.strictEqual(profiles.length, 1); 44 verifyFrames(output, profiles[0], 'fibonacci.js'); 45} 46