Browse Source

test: fix http-many-ended-pipelines flakiness

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: https://github.com/nodejs/node/pull/4041
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Minwoo Jung <jmwsoft@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
v4.x
Santiago Gimeno 9 years ago
committed by Myles Borins
parent
commit
2ee7853bb7
  1. 12
      test/parallel/test-http-many-ended-pipelines.js

12
test/parallel/test-http-many-ended-pipelines.js

@ -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);

Loading…
Cancel
Save