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: #4041
Reviewed-By: Ben Noordhuis <[email protected]>
Reviewed-By: Minwoo Jung <[email protected]>
Reviewed-By: Evan Lucas <[email protected]>
  • Loading branch information
santigimeno authored and evanlucas committed Dec 10, 2015
1 parent 84dea1b commit 23e7703
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 23e7703

Please sign in to comment.