Skip to content

Commit

Permalink
test: fix http-many-ended-pipelines flakiness
Browse files Browse the repository at this point in the history
It can happen that the HTTP connection is closed before the server has received
all the requests, thus the server close condition is never reached. To solve
this, close the server when the socket is fully closed.

PR-URL: nodejs#4041
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
  • Loading branch information
santigimeno authored and Michael Scovetta committed Apr 2, 2016
1 parent e620f1c commit e95685a
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions test/parallel/test-http-many-ended-pipelines.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,19 @@ var http = require('http');
var net = require('net');

var numRequests = 20;
var done = 0;
var first = false;

var server = http.createServer(function(req, res) {
res.end('ok');
if (!first) {
first = true;
req.socket.on('close', function() {
server.close();
});
}

res.end('ok');
// Oh no! The connection died!
req.socket.destroy();
if (++done == numRequests)
server.close();
});

server.listen(common.PORT);
Expand Down

0 comments on commit e95685a

Please sign in to comment.