%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; // Verify that exceptions from a callback don't result in // failed CHECKs when trying to print the exception message. // This test is convoluted because it needs to trigger a callback // into JS land at just the right time when an exception is pending, // and does so by exploiting a weakness in the streams infrastructure. // I won't shed any tears if this test ever becomes invalidated. const common = require('../common'); if (!common.hasCrypto) common.skip('missing crypto'); if (process.argv[2] === 'child') { const fixtures = require('../common/fixtures'); const https = require('https'); const net = require('net'); const tls = require('tls'); const { Duplex } = require('stream'); const { mustCall } = common; const cert = fixtures.readKey('rsa_cert.crt'); const key = fixtures.readKey('rsa_private.pem'); net.createServer(mustCall(onplaintext)).listen(0, mustCall(onlisten)); function onlisten() { const { port } = this.address(); https.get({ port, rejectUnauthorized: false }); } function onplaintext(c) { const d = new class extends Duplex { _read(n) { const data = c.read(n); if (data) d.push(data); } _write(...xs) { c.write(...xs); } }(); c.on('data', d.push.bind(d)); const options = { key, cert }; const fail = () => { throw new Error('eyecatcher'); }; tls.createServer(options, mustCall(fail)).emit('connection', d); } } else { const assert = require('assert'); const { spawnSync } = require('child_process'); const result = spawnSync(process.execPath, [__filename, 'child']); const stderr = result.stderr.toString(); const ok = stderr.includes('Error: eyecatcher'); assert(ok, stderr); }