| 'use strict'; |
| |
| const common = require('../common'); |
| if (!common.hasCrypto) |
| common.skip('missing crypto'); |
| |
| const https = require('https'); |
| |
| if (process.argv[2] === 'localhost') { |
| const request = https.get('https://localhost:' + process.argv[3]); |
| |
| request.on('socket', (socket) => { |
| socket.unref(); |
| }); |
| } else { |
| const assert = require('assert'); |
| const net = require('net'); |
| const server = net.createServer(); |
| server.listen(0); |
| server.on('listening', () => { |
| const port = server.address().port; |
| const { fork } = require('child_process'); |
| const child = fork(__filename, ['localhost', port], {}); |
| child.on('close', (exit_code) => { |
| server.close(); |
| assert.strictEqual(exit_code, 0); |
| }); |
| }); |
| } |