Browse Source

test: fix tls-inception flakiness

When sending a very large buffer (400000 bytes) the test fails due to
the client socket from the `a` server erroring with `ECONNRESET`.
There's a race condition between the closing of this socket and the `ssl`
socket closing on the other side of the connection. To improve things,
destroy the socket as soon as possible: in the `end` event of the `dest`
socket.

PR-URL: https://github.com/nodejs/node/pull/4195
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
process-exit-stdio-flushing
Santiago Gimeno 9 years ago
committed by Fedor Indutny
parent
commit
3b94991bda
  1. 4
      test/parallel/test-tls-inception.js

4
test/parallel/test-tls-inception.js

@ -14,7 +14,7 @@ var net = require('net');
var options, a, b; var options, a, b;
var body = new Buffer(4000).fill('A'); var body = new Buffer(400000).fill('A');
options = { options = {
key: fs.readFileSync(path.join(common.fixturesDir, 'test_key.pem')), key: fs.readFileSync(path.join(common.fixturesDir, 'test_key.pem')),
@ -32,7 +32,7 @@ a = tls.createServer(options, function(socket) {
dest.pipe(socket); dest.pipe(socket);
socket.pipe(dest); socket.pipe(dest);
dest.on('close', function() { dest.on('end', function() {
socket.destroy(); socket.destroy();
}); });
}); });

Loading…
Cancel
Save