test: make test-http(s)-set-timeout-server alike
Make test-http(s)-set-timeout-server tests more similar and resolve the following issues: * `test-http-set-timeout-server.js` had a `secReceived` check in `serverResponseTimeoutWithPipeline()` that was added to prevent flakiness, but this did not exist in the https counterpart. * `test-https-set-timeout-server.js` utilized `common.mustCall()`, `common.mustNotCall()`, etc., while the http counterpart utilized the old method of checking flags on exit of the process. Refs: https://github.com/nodejs/node/issues/13588 PR-URL: https://github.com/nodejs/node/pull/13625 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com>
This commit is contained in:
parent
4ca3b9cd6a
commit
bed3579dbe
@ -44,38 +44,28 @@ function run() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
test(function serverTimeout(cb) {
|
test(function serverTimeout(cb) {
|
||||||
let caughtTimeout = false;
|
|
||||||
process.on('exit', function() {
|
|
||||||
assert(caughtTimeout);
|
|
||||||
});
|
|
||||||
const server = http.createServer(function(req, res) {
|
const server = http.createServer(function(req, res) {
|
||||||
// just do nothing, we should get a timeout event.
|
// just do nothing, we should get a timeout event.
|
||||||
});
|
});
|
||||||
server.listen(common.mustCall(function() {
|
server.listen(common.mustCall(function() {
|
||||||
http.get({ port: server.address().port }).on('error', common.noop);
|
http.get({ port: server.address().port }).on('error', common.noop);
|
||||||
}));
|
}));
|
||||||
const s = server.setTimeout(50, function(socket) {
|
const s = server.setTimeout(50, common.mustCall(function(socket) {
|
||||||
caughtTimeout = true;
|
|
||||||
socket.destroy();
|
socket.destroy();
|
||||||
server.close();
|
server.close();
|
||||||
cb();
|
cb();
|
||||||
});
|
}));
|
||||||
assert.ok(s instanceof http.Server);
|
assert.ok(s instanceof http.Server);
|
||||||
});
|
});
|
||||||
|
|
||||||
test(function serverRequestTimeout(cb) {
|
test(function serverRequestTimeout(cb) {
|
||||||
let caughtTimeout = false;
|
|
||||||
process.on('exit', function() {
|
|
||||||
assert(caughtTimeout);
|
|
||||||
});
|
|
||||||
const server = http.createServer(function(req, res) {
|
const server = http.createServer(function(req, res) {
|
||||||
// just do nothing, we should get a timeout event.
|
// just do nothing, we should get a timeout event.
|
||||||
const s = req.setTimeout(50, function() {
|
const s = req.setTimeout(50, common.mustCall(function(socket) {
|
||||||
caughtTimeout = true;
|
socket.destroy();
|
||||||
req.socket.destroy();
|
|
||||||
server.close();
|
server.close();
|
||||||
cb();
|
cb();
|
||||||
});
|
}));
|
||||||
assert.ok(s instanceof http.IncomingMessage);
|
assert.ok(s instanceof http.IncomingMessage);
|
||||||
});
|
});
|
||||||
server.listen(common.mustCall(function() {
|
server.listen(common.mustCall(function() {
|
||||||
@ -88,18 +78,13 @@ test(function serverRequestTimeout(cb) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test(function serverResponseTimeout(cb) {
|
test(function serverResponseTimeout(cb) {
|
||||||
let caughtTimeout = false;
|
|
||||||
process.on('exit', function() {
|
|
||||||
assert(caughtTimeout);
|
|
||||||
});
|
|
||||||
const server = http.createServer(function(req, res) {
|
const server = http.createServer(function(req, res) {
|
||||||
// just do nothing, we should get a timeout event.
|
// just do nothing, we should get a timeout event.
|
||||||
const s = res.setTimeout(50, function() {
|
const s = res.setTimeout(50, common.mustCall(function(socket) {
|
||||||
caughtTimeout = true;
|
socket.destroy();
|
||||||
res.socket.destroy();
|
|
||||||
server.close();
|
server.close();
|
||||||
cb();
|
cb();
|
||||||
});
|
}));
|
||||||
assert.ok(s instanceof http.OutgoingMessage);
|
assert.ok(s instanceof http.OutgoingMessage);
|
||||||
});
|
});
|
||||||
server.listen(common.mustCall(function() {
|
server.listen(common.mustCall(function() {
|
||||||
@ -109,21 +94,11 @@ test(function serverResponseTimeout(cb) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test(function serverRequestNotTimeoutAfterEnd(cb) {
|
test(function serverRequestNotTimeoutAfterEnd(cb) {
|
||||||
let caughtTimeoutOnRequest = false;
|
|
||||||
let caughtTimeoutOnResponse = false;
|
|
||||||
process.on('exit', function() {
|
|
||||||
assert(!caughtTimeoutOnRequest);
|
|
||||||
assert(caughtTimeoutOnResponse);
|
|
||||||
});
|
|
||||||
const server = http.createServer(function(req, res) {
|
const server = http.createServer(function(req, res) {
|
||||||
// just do nothing, we should get a timeout event.
|
// just do nothing, we should get a timeout event.
|
||||||
const s = req.setTimeout(50, function(socket) {
|
const s = req.setTimeout(50, common.mustNotCall());
|
||||||
caughtTimeoutOnRequest = true;
|
|
||||||
});
|
|
||||||
assert.ok(s instanceof http.IncomingMessage);
|
assert.ok(s instanceof http.IncomingMessage);
|
||||||
res.on('timeout', function(socket) {
|
res.on('timeout', common.mustCall());
|
||||||
caughtTimeoutOnResponse = true;
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
server.on('timeout', function(socket) {
|
server.on('timeout', function(socket) {
|
||||||
socket.destroy();
|
socket.destroy();
|
||||||
@ -169,29 +144,16 @@ test(function serverResponseTimeoutWithPipeline(cb) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test(function idleTimeout(cb) {
|
test(function idleTimeout(cb) {
|
||||||
let caughtTimeoutOnRequest = false;
|
|
||||||
let caughtTimeoutOnResponse = false;
|
|
||||||
let caughtTimeoutOnServer = false;
|
|
||||||
process.on('exit', function() {
|
|
||||||
assert(!caughtTimeoutOnRequest);
|
|
||||||
assert(!caughtTimeoutOnResponse);
|
|
||||||
assert(caughtTimeoutOnServer);
|
|
||||||
});
|
|
||||||
const server = http.createServer(function(req, res) {
|
const server = http.createServer(function(req, res) {
|
||||||
req.on('timeout', function(socket) {
|
req.on('timeout', common.mustNotCall());
|
||||||
caughtTimeoutOnRequest = true;
|
res.on('timeout', common.mustNotCall());
|
||||||
});
|
|
||||||
res.on('timeout', function(socket) {
|
|
||||||
caughtTimeoutOnResponse = true;
|
|
||||||
});
|
|
||||||
res.end();
|
res.end();
|
||||||
});
|
});
|
||||||
const s = server.setTimeout(50, function(socket) {
|
const s = server.setTimeout(50, common.mustCall(function(socket) {
|
||||||
caughtTimeoutOnServer = true;
|
|
||||||
socket.destroy();
|
socket.destroy();
|
||||||
server.close();
|
server.close();
|
||||||
cb();
|
cb();
|
||||||
});
|
}));
|
||||||
assert.ok(s instanceof http.Server);
|
assert.ok(s instanceof http.Server);
|
||||||
server.listen(common.mustCall(function() {
|
server.listen(common.mustCall(function() {
|
||||||
const port = server.address().port;
|
const port = server.address().port;
|
||||||
|
@ -137,19 +137,24 @@ test(function serverRequestNotTimeoutAfterEnd(cb) {
|
|||||||
|
|
||||||
test(function serverResponseTimeoutWithPipeline(cb) {
|
test(function serverResponseTimeoutWithPipeline(cb) {
|
||||||
let caughtTimeout = '';
|
let caughtTimeout = '';
|
||||||
|
let secReceived = false;
|
||||||
process.on('exit', function() {
|
process.on('exit', function() {
|
||||||
assert.strictEqual(caughtTimeout, '/2');
|
assert.strictEqual(caughtTimeout, '/2');
|
||||||
});
|
});
|
||||||
const server = https.createServer(serverOptions, function(req, res) {
|
const server = https.createServer(serverOptions, function(req, res) {
|
||||||
|
if (req.url === '/2')
|
||||||
|
secReceived = true;
|
||||||
res.setTimeout(50, function() {
|
res.setTimeout(50, function() {
|
||||||
caughtTimeout += req.url;
|
caughtTimeout += req.url;
|
||||||
});
|
});
|
||||||
if (req.url === '/1') res.end();
|
if (req.url === '/1') res.end();
|
||||||
});
|
});
|
||||||
server.on('timeout', function(socket) {
|
server.on('timeout', function(socket) {
|
||||||
|
if (secReceived) {
|
||||||
socket.destroy();
|
socket.destroy();
|
||||||
server.close();
|
server.close();
|
||||||
cb();
|
cb();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
server.listen(0, function() {
|
server.listen(0, function() {
|
||||||
const options = {
|
const options = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user