Skip to content

Commit 48e5f10

Browse files
jklepatchaddaleax
authored andcommitted
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: #13588 PR-URL: #13625 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Alexey Orlenko <[email protected]>
1 parent 067c31f commit 48e5f10

File tree

2 files changed

+22
-55
lines changed

2 files changed

+22
-55
lines changed

test/parallel/test-http-set-timeout-server.js

+14-52
Original file line numberDiff line numberDiff line change
@@ -44,38 +44,28 @@ function run() {
4444
}
4545

4646
test(function serverTimeout(cb) {
47-
let caughtTimeout = false;
48-
process.on('exit', function() {
49-
assert(caughtTimeout);
50-
});
5147
const server = http.createServer(function(req, res) {
5248
// just do nothing, we should get a timeout event.
5349
});
5450
server.listen(common.mustCall(function() {
5551
http.get({ port: server.address().port }).on('error', common.noop);
5652
}));
57-
const s = server.setTimeout(50, function(socket) {
58-
caughtTimeout = true;
53+
const s = server.setTimeout(50, common.mustCall(function(socket) {
5954
socket.destroy();
6055
server.close();
6156
cb();
62-
});
57+
}));
6358
assert.ok(s instanceof http.Server);
6459
});
6560

6661
test(function serverRequestTimeout(cb) {
67-
let caughtTimeout = false;
68-
process.on('exit', function() {
69-
assert(caughtTimeout);
70-
});
7162
const server = http.createServer(function(req, res) {
7263
// just do nothing, we should get a timeout event.
73-
const s = req.setTimeout(50, function() {
74-
caughtTimeout = true;
75-
req.socket.destroy();
64+
const s = req.setTimeout(50, common.mustCall(function(socket) {
65+
socket.destroy();
7666
server.close();
7767
cb();
78-
});
68+
}));
7969
assert.ok(s instanceof http.IncomingMessage);
8070
});
8171
server.listen(common.mustCall(function() {
@@ -88,18 +78,13 @@ test(function serverRequestTimeout(cb) {
8878
});
8979

9080
test(function serverResponseTimeout(cb) {
91-
let caughtTimeout = false;
92-
process.on('exit', function() {
93-
assert(caughtTimeout);
94-
});
9581
const server = http.createServer(function(req, res) {
9682
// just do nothing, we should get a timeout event.
97-
const s = res.setTimeout(50, function() {
98-
caughtTimeout = true;
99-
res.socket.destroy();
83+
const s = res.setTimeout(50, common.mustCall(function(socket) {
84+
socket.destroy();
10085
server.close();
10186
cb();
102-
});
87+
}));
10388
assert.ok(s instanceof http.OutgoingMessage);
10489
});
10590
server.listen(common.mustCall(function() {
@@ -109,21 +94,11 @@ test(function serverResponseTimeout(cb) {
10994
});
11095

11196
test(function serverRequestNotTimeoutAfterEnd(cb) {
112-
let caughtTimeoutOnRequest = false;
113-
let caughtTimeoutOnResponse = false;
114-
process.on('exit', function() {
115-
assert(!caughtTimeoutOnRequest);
116-
assert(caughtTimeoutOnResponse);
117-
});
11897
const server = http.createServer(function(req, res) {
11998
// just do nothing, we should get a timeout event.
120-
const s = req.setTimeout(50, function(socket) {
121-
caughtTimeoutOnRequest = true;
122-
});
99+
const s = req.setTimeout(50, common.mustNotCall());
123100
assert.ok(s instanceof http.IncomingMessage);
124-
res.on('timeout', function(socket) {
125-
caughtTimeoutOnResponse = true;
126-
});
101+
res.on('timeout', common.mustCall());
127102
});
128103
server.on('timeout', function(socket) {
129104
socket.destroy();
@@ -169,29 +144,16 @@ test(function serverResponseTimeoutWithPipeline(cb) {
169144
});
170145

171146
test(function idleTimeout(cb) {
172-
let caughtTimeoutOnRequest = false;
173-
let caughtTimeoutOnResponse = false;
174-
let caughtTimeoutOnServer = false;
175-
process.on('exit', function() {
176-
assert(!caughtTimeoutOnRequest);
177-
assert(!caughtTimeoutOnResponse);
178-
assert(caughtTimeoutOnServer);
179-
});
180147
const server = http.createServer(function(req, res) {
181-
req.on('timeout', function(socket) {
182-
caughtTimeoutOnRequest = true;
183-
});
184-
res.on('timeout', function(socket) {
185-
caughtTimeoutOnResponse = true;
186-
});
148+
req.on('timeout', common.mustNotCall());
149+
res.on('timeout', common.mustNotCall());
187150
res.end();
188151
});
189-
const s = server.setTimeout(50, function(socket) {
190-
caughtTimeoutOnServer = true;
152+
const s = server.setTimeout(50, common.mustCall(function(socket) {
191153
socket.destroy();
192154
server.close();
193155
cb();
194-
});
156+
}));
195157
assert.ok(s instanceof http.Server);
196158
server.listen(common.mustCall(function() {
197159
const port = server.address().port;

test/sequential/test-https-set-timeout-server.js

+8-3
Original file line numberDiff line numberDiff line change
@@ -137,19 +137,24 @@ test(function serverRequestNotTimeoutAfterEnd(cb) {
137137

138138
test(function serverResponseTimeoutWithPipeline(cb) {
139139
let caughtTimeout = '';
140+
let secReceived = false;
140141
process.on('exit', function() {
141142
assert.strictEqual(caughtTimeout, '/2');
142143
});
143144
const server = https.createServer(serverOptions, function(req, res) {
145+
if (req.url === '/2')
146+
secReceived = true;
144147
res.setTimeout(50, function() {
145148
caughtTimeout += req.url;
146149
});
147150
if (req.url === '/1') res.end();
148151
});
149152
server.on('timeout', function(socket) {
150-
socket.destroy();
151-
server.close();
152-
cb();
153+
if (secReceived) {
154+
socket.destroy();
155+
server.close();
156+
cb();
157+
}
153158
});
154159
server.listen(0, function() {
155160
const options = {

0 commit comments

Comments
 (0)