Browse Source

test: fix tls-no-rsa-key flakiness

In some conditions it can happen that the client-side socket is destroyed
before the server-side socket has gracefully closed, thus causing a
'ECONNRESET' error in this socket. To solve this, wait in the client-side
socket for the 'end' event before closing it.

PR-URL: https://github.com/nodejs/node/pull/4043
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
process-exit-stdio-flushing
Santiago Gimeno 9 years ago
committed by James M Snell
parent
commit
61fe86b560
  1. 11
      test/parallel/test-tls-no-rsa-key.js

11
test/parallel/test-tls-no-rsa-key.js

@ -23,9 +23,16 @@ var server = tls.createServer(options, function(conn) {
var c = tls.connect(common.PORT, { var c = tls.connect(common.PORT, {
rejectUnauthorized: false rejectUnauthorized: false
}, function() { }, function() {
c.on('end', common.mustCall(function() {
c.end();
server.close();
}));
c.on('data', function(data) {
assert.equal(data, 'ok');
});
cert = c.getPeerCertificate(); cert = c.getPeerCertificate();
c.destroy();
server.close();
}); });
}); });

Loading…
Cancel
Save