test: fix flaky test-net-socket-timeout

The setTimeout() call is unneeded. If the socket never times out, then
the test will never finish. Because timers can be unreliable on machines
under load, using setTimeout() here effectively creates a race
condition.

PR-URL: https://github.com/nodejs/node/pull/10172
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
This commit is contained in:
Rich Trott 2016-12-07 13:08:27 -08:00
parent a0a6ff2ea5
commit 6dd07545ff

View File

@ -1,14 +1,17 @@
'use strict'; 'use strict';
var common = require('../common'); const common = require('../common');
var net = require('net'); const net = require('net');
var assert = require('assert'); const assert = require('assert');
// Verify that invalid delays throw // Verify that invalid delays throw
var noop = function() {}; const noop = function() {};
var s = new net.Socket(); const s = new net.Socket();
var nonNumericDelays = ['100', true, false, undefined, null, '', {}, noop, []]; const nonNumericDelays = [
var badRangeDelays = [-0.001, -1, -Infinity, Infinity, NaN]; '100', true, false, undefined, null, '', {}, noop, []
var validDelays = [0, 0.001, 1, 1e6]; ];
const badRangeDelays = [-0.001, -1, -Infinity, Infinity, NaN];
const validDelays = [0, 0.001, 1, 1e6];
for (let i = 0; i < nonNumericDelays.length; i++) { for (let i = 0; i < nonNumericDelays.length; i++) {
assert.throws(function() { assert.throws(function() {
@ -28,15 +31,11 @@ for (let i = 0; i < validDelays.length; i++) {
}); });
} }
var server = net.Server(); const server = net.Server();
server.listen(0, common.mustCall(function() { server.listen(0, common.mustCall(function() {
var socket = net.createConnection(this.address().port); const socket = net.createConnection(this.address().port);
socket.setTimeout(100, common.mustCall(function() { socket.setTimeout(1, common.mustCall(function() {
socket.destroy(); socket.destroy();
server.close(); server.close();
clearTimeout(timer);
})); }));
var timer = setTimeout(function() {
process.exit(1);
}, common.platformTimeout(200));
})); }));