summaryrefslogtreecommitdiff
path: root/test/pummel/test-heapdump-tls.js
blob: fee19bf67625b2e76adfd42ba63fdd1dae3a6650 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Flags: --expose-internals
'use strict';
const common = require('../common');

if (!common.hasCrypto)
  common.skip('missing crypto');

const { validateSnapshotNodes } = require('../common/heap');
const net = require('net');
const tls = require('tls');

validateSnapshotNodes('Node / TLSWrap', []);

const server = net.createServer(common.mustCall((c) => {
  c.end();
})).listen(0, common.mustCall(() => {
  const c = tls.connect({ port: server.address().port });

  c.on('error', common.mustCall(() => {
    server.close();
  }));
  c.write('hello');

  validateSnapshotNodes('Node / TLSWrap', [
    {
      children: [
        { node_name: 'Node / NodeBIO', edge_name: 'enc_out' },
        { node_name: 'Node / NodeBIO', edge_name: 'enc_in' },
        // `Node / TLSWrap` (C++) -> `TLSWrap` (JS)
        { node_name: 'TLSWrap', edge_name: 'wrapped' }
        // pending_cleartext_input could be empty
      ]
    }
  ]);
}));