• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2
3// This tests the console works in the deserialized snapshot.
4
5const common = require('../common');
6common.skipIfInspectorDisabled();
7
8const assert = require('assert');
9const { spawnSync } = require('child_process');
10const tmpdir = require('../common/tmpdir');
11const fixtures = require('../common/fixtures');
12const path = require('path');
13const fs = require('fs');
14
15tmpdir.refresh();
16const blobPath = path.join(tmpdir.path, 'snapshot.blob');
17const entry = fixtures.path('snapshot', 'console.js');
18
19{
20  const child = spawnSync(process.execPath, [
21    '--snapshot-blob',
22    blobPath,
23    '--build-snapshot',
24    entry,
25  ], {
26    cwd: tmpdir.path
27  });
28  const stdout = child.stdout.toString();
29  if (child.status !== 0) {
30    console.log(stdout);
31    console.log(child.stderr.toString());
32    assert.strictEqual(child.status, 0);
33  }
34  assert.deepStrictEqual(Object.keys(console), JSON.parse(stdout));
35  const stats = fs.statSync(path.join(tmpdir.path, 'snapshot.blob'));
36  assert(stats.isFile());
37}
38
39{
40  const child = spawnSync(process.execPath, [
41    '--snapshot-blob',
42    blobPath,
43  ], {
44    cwd: tmpdir.path,
45    env: {
46      ...process.env,
47    }
48  });
49
50  const stdout = child.stdout.toString();
51  if (child.status !== 0) {
52    console.log(stdout);
53    console.log(child.stderr.toString());
54    assert.strictEqual(child.status, 0);
55  }
56  assert.deepStrictEqual(Object.keys(console), JSON.parse(stdout));
57  assert.strictEqual(child.status, 0);
58}
59