1'use strict';
2
3const common = require('../common');
4if (!common.hasCrypto)
5  common.skip('missing crypto');
6
7const https = require('https');
8
9if (process.argv[2] === 'localhost') {
10  const request = https.get('https://localhost:' + process.argv[3]);
11
12  request.on('socket', (socket) => {
13    socket.unref();
14  });
15} else {
16  const assert = require('assert');
17  const net = require('net');
18  const server = net.createServer();
19  server.listen(0);
20  server.on('listening', () => {
21    const port = server.address().port;
22    const { fork } = require('child_process');
23    const child = fork(__filename, ['localhost', port], {});
24    child.on('close', (exit_code) => {
25      server.close();
26      assert.strictEqual(exit_code, 0);
27    });
28  });
29}
30