Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Test case for issue #1218: uncatchable exception on TLS connection er…

…ror.
  • Loading branch information...
commit eb53f9c313e8e67cfaf4dcf191f17bc1eda81c8f 1 parent c95da94
Ben Noordhuis authored June 25, 2011

Showing 1 changed file with 51 additions and 0 deletions. Show diff stats Hide diff stats

  1. 51  test/simple/test-tls-connect.js
51  test/simple/test-tls-connect.js
... ...
@@ -0,0 +1,51 @@
  1
+// Copyright Joyent, Inc. and other Node contributors.
  2
+//
  3
+// Permission is hereby granted, free of charge, to any person obtaining a
  4
+// copy of this software and associated documentation files (the
  5
+// "Software"), to deal in the Software without restriction, including
  6
+// without limitation the rights to use, copy, modify, merge, publish,
  7
+// distribute, sublicense, and/or sell copies of the Software, and to permit
  8
+// persons to whom the Software is furnished to do so, subject to the
  9
+// following conditions:
  10
+//
  11
+// The above copyright notice and this permission notice shall be included
  12
+// in all copies or substantial portions of the Software.
  13
+//
  14
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  15
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  16
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
  17
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
  18
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  19
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
  20
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
  21
+
  22
+if (!process.versions.openssl) {
  23
+  console.error("Skipping because node compiled without OpenSSL.");
  24
+  process.exit(0);
  25
+}
  26
+
  27
+var common = require('../common');
  28
+var assert = require('assert');
  29
+var fs = require('fs');
  30
+var tls = require('tls');
  31
+var path = require('path');
  32
+
  33
+// https://github.com/joyent/node/issues/1218 - uncatchable exception on TLS connection error
  34
+(function() {
  35
+  var cert = fs.readFileSync(path.join(common.fixturesDir, 'test_cert.pem'));
  36
+  var key = fs.readFileSync(path.join(common.fixturesDir, 'test_key.pem'));
  37
+
  38
+  var errorEmitted = false;
  39
+
  40
+  process.on('exit', function() {
  41
+    assert.ok(errorEmitted);
  42
+  });
  43
+
  44
+  var conn = tls.connect(common.PORT, {cert:cert, key:key}, function() {
  45
+    assert.ok(false); // callback should never be executed
  46
+  });
  47
+
  48
+  conn.on('error', function() {
  49
+    errorEmitted = true;
  50
+  });
  51
+})();

0 notes on commit eb53f9c

Please sign in to comment.
Something went wrong with that request. Please try again.