summaryrefslogtreecommitdiff
path: root/test/parallel/test-tls-transport-destroy-after-own-gc.js
blob: 46f630982af64334536f63b042ae0e54c7c5ba0a (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
// Flags: --expose-gc
'use strict';

// Regression test for https://github.com/nodejs/node/issues/17475
// Unfortunately, this tests only "works" reliably when checked with valgrind or
// a similar tool.

const common = require('../common');
if (!common.hasCrypto)
  common.skip('missing crypto');

const { TLSSocket } = require('tls');
const makeDuplexPair = require('../common/duplexpair');

let { clientSide } = makeDuplexPair();

let clientTLS = new TLSSocket(clientSide, { isServer: false });
// eslint-disable-next-line no-unused-vars
let clientTLSHandle = clientTLS._handle;

setImmediate(() => {
  clientTLS = null;
  global.gc();
  clientTLSHandle = null;
  global.gc();
  setImmediate(() => {
    clientSide = null;
    global.gc();
  });
});