test: fix flaky test-tls-wrap-timeout · nodejs/node@bc464a8
11'use strict';
2-var common = require('../common');
3-var assert = require('assert');
2+const common = require('../common');
4354if (!common.hasCrypto) {
65common.skip('missing crypto');
76return;
87}
9-var tls = require('tls');
8+const assert = require('assert');
9+const tls = require('tls');
101011-var net = require('net');
12-var fs = require('fs');
11+const net = require('net');
12+const fs = require('fs');
131314-var options = {
14+const options = {
1515key: fs.readFileSync(common.fixturesDir + '/keys/agent1-key.pem'),
1616cert: fs.readFileSync(common.fixturesDir + '/keys/agent1-cert.pem')
1717};
181819-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;
283229-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() {
3236throw new Error('timeout');
3337});
3438assert.ok(s instanceof net.Socket);
353936-var tsocket = tls.connect({
40+assert.notStrictEqual(socket._idleTimeout, -1);
41+lastIdleStart = socket._idleStart;
42+43+const tsocket = tls.connect({
3744socket: socket,
3845rejectUnauthorized: false
3946});
4047tsocket.resume();
4148});
4249});
50+51+process.on('exit', () => {
52+assert.strictEqual(socket._idleTimeout, -1);
53+assert(lastIdleStart < socket._idleStart);
54+});