• 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 dir = path.join(tmpdir.path, 'prof');
26  const output = spawnSync(process.execPath, [
27    '--cpu-prof',
28    '--cpu-prof-interval',
29    kCpuProfInterval,
30    '--cpu-prof-dir',
31    dir,
32    fixtures.path('workload', 'fibonacci.js'),
33  ], {
34    cwd: tmpdir.path,
35    env
36  });
37  if (output.status !== 0) {
38    console.log(output.stderr.toString());
39  }
40  assert.strictEqual(output.status, 0);
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