From 4c38742dd8a41f119b7113af6440014e25ae71c2 Mon Sep 17 00:00:00 2001 From: Timothy J Fontaine Date: Mon, 1 Jul 2013 21:29:15 +0000 Subject: [PATCH] test: fix tls-hello-parser-failure on smartos Assert that when the client closes it has seen an error, this prevents the test from timing out. Also queue a second write in the case that we were able to send the buffer before the other side closed the connection. --- test/simple/test-tls-hello-parser-failure.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/test/simple/test-tls-hello-parser-failure.js b/test/simple/test-tls-hello-parser-failure.js index f7e1f741fa..cce94007f7 100644 --- a/test/simple/test-tls-hello-parser-failure.js +++ b/test/simple/test-tls-hello-parser-failure.js @@ -30,21 +30,32 @@ var options = { cert: fs.readFileSync(common.fixturesDir + '/test_cert.pem') }; +var bonkers = new Buffer(1024 * 1024); +bonkers.fill(42); + var server = tls.createServer(options, function(c) { }).listen(common.PORT, function() { var client = net.connect(common.PORT, function() { - var bonkers = new Buffer(1024 * 1024); - bonkers.fill(42); - client.end(bonkers); + client.write(bonkers); }); var once = false; - client.on('error', function() { + + var writeAgain = setTimeout(function() { + client.write(bonkers); + }); + + client.on('error', function(err) { if (!once) { + clearTimeout(writeAgain); once = true; client.destroy(); server.close(); } }); + + client.on('close', function (hadError) { + assert.strictEqual(hadError, true, 'Client never errored'); + }); });