| // 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(); |
| }); |
| }); |