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>
process-exit-stdio-flushing
Santiago Gimeno 9 years ago
committed by Evan Lucas
parent
commit
23e7703c85
  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