test: fix tls-inception flakiness
authorSantiago Gimeno <santiago.gimeno@gmail.com>
Tue, 8 Dec 2015 13:57:22 +0000 (14:57 +0100)
committerMyles Borins <mborins@us.ibm.com>
Tue, 19 Jan 2016 19:52:21 +0000 (11:52 -0800)
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>
test/parallel/test-tls-inception.js

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