• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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