|
1 | 1 | 'use strict';
|
2 |
| -var common = require('../common'); |
3 |
| -var assert = require('assert'); |
| 2 | +const common = require('../common'); |
4 | 3 |
|
5 | 4 | if (!common.hasCrypto) {
|
6 | 5 | common.skip('missing crypto');
|
7 | 6 | return;
|
8 | 7 | }
|
9 |
| -var tls = require('tls'); |
| 8 | +const assert = require('assert'); |
| 9 | +const tls = require('tls'); |
10 | 10 |
|
11 |
| -var net = require('net'); |
12 |
| -var fs = require('fs'); |
| 11 | +const net = require('net'); |
| 12 | +const fs = require('fs'); |
13 | 13 |
|
14 |
| -var options = { |
| 14 | +const options = { |
15 | 15 | key: fs.readFileSync(common.fixturesDir + '/keys/agent1-key.pem'),
|
16 | 16 | cert: fs.readFileSync(common.fixturesDir + '/keys/agent1-cert.pem')
|
17 | 17 | };
|
18 | 18 |
|
19 |
| -var server = tls.createServer(options, function(c) { |
20 |
| - setTimeout(function() { |
21 |
| - c.write('hello'); |
22 |
| - setTimeout(function() { |
23 |
| - c.destroy(); |
24 |
| - server.close(); |
25 |
| - }, 150); |
26 |
| - }, 150); |
27 |
| -}); |
| 19 | +const server = tls.createServer(options, common.mustCall((c) => { |
| 20 | + setImmediate(() => { |
| 21 | + c.write('hello', () => { |
| 22 | + setImmediate(() => { |
| 23 | + c.destroy(); |
| 24 | + server.close(); |
| 25 | + }); |
| 26 | + }); |
| 27 | + }); |
| 28 | +})); |
| 29 | + |
| 30 | +var socket; |
| 31 | +var lastIdleStart; |
28 | 32 |
|
29 |
| -server.listen(0, function() { |
30 |
| - var socket = net.connect(this.address().port, function() { |
31 |
| - var s = socket.setTimeout(common.platformTimeout(240), function() { |
| 33 | +server.listen(0, () => { |
| 34 | + socket = net.connect(server.address().port, function() { |
| 35 | + const s = socket.setTimeout(Number.MAX_VALUE, function() { |
32 | 36 | throw new Error('timeout');
|
33 | 37 | });
|
34 | 38 | assert.ok(s instanceof net.Socket);
|
35 | 39 |
|
36 |
| - var tsocket = tls.connect({ |
| 40 | + assert.notStrictEqual(socket._idleTimeout, -1); |
| 41 | + lastIdleStart = socket._idleStart; |
| 42 | + |
| 43 | + const tsocket = tls.connect({ |
37 | 44 | socket: socket,
|
38 | 45 | rejectUnauthorized: false
|
39 | 46 | });
|
40 | 47 | tsocket.resume();
|
41 | 48 | });
|
42 | 49 | });
|
| 50 | + |
| 51 | +process.on('exit', () => { |
| 52 | + assert.strictEqual(socket._idleTimeout, -1); |
| 53 | + assert(lastIdleStart < socket._idleStart); |
| 54 | +}); |
0 commit comments