1// Flags: --expose-internals 2'use strict'; 3const common = require('../common'); 4 5if (!common.hasCrypto) 6 common.skip('missing crypto'); 7 8const { validateSnapshotNodes } = require('../common/heap'); 9const net = require('net'); 10const tls = require('tls'); 11 12validateSnapshotNodes('Node / TLSWrap', []); 13 14const server = net.createServer(common.mustCall((c) => { 15 c.end(); 16})).listen(0, common.mustCall(() => { 17 const c = tls.connect({ port: server.address().port }); 18 19 c.on('error', common.mustCall(() => { 20 server.close(); 21 })); 22 c.write('hello'); 23 24 validateSnapshotNodes('Node / TLSWrap', [ 25 { 26 children: [ 27 { node_name: 'Node / NodeBIO', edge_name: 'enc_out' }, 28 { node_name: 'Node / NodeBIO', edge_name: 'enc_in' }, 29 // `Node / TLSWrap` (C++) -> `TLSWrap` (JS) 30 { node_name: 'TLSWrap', edge_name: 'wrapped' }, 31 // pending_cleartext_input could be empty 32 ] 33 }, 34 ]); 35})); 36