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:
parent
a0a6ff2ea5
commit
6dd07545ff
@ -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));
|
|
||||||
}));
|
}));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user