test: fix tls-hello-parser-failure on smartos
authorTimothy J Fontaine <tjfontaine@gmail.com>
Mon, 1 Jul 2013 21:29:15 +0000 (21:29 +0000)
committerTimothy J Fontaine <tjfontaine@gmail.com>
Tue, 2 Jul 2013 00:41:38 +0000 (17:41 -0700)
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

index f7e1f74..cce9400 100644 (file)
@@ -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');
+       });
 });