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 <info@bnoordhuis.nl>
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
  • Loading branch information
santigimeno authored and Myles Borins committed Dec 29, 2015
1 parent f0cf7d8 commit a3394fc
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 a3394fc

Please sign in to comment.