From e3813261b87f813cbd0cdc5199434de44b2a0c6a Mon Sep 17 00:00:00 2001 From: James M Snell Date: Tue, 7 Jul 2020 13:48:34 -0700 Subject: [PATCH] quic: add tests confirming error handling for QuicSocket close event PR-URL: https://github.com/nodejs/node/pull/34247 Reviewed-By: Anna Henningsen --- ...est-quic-socket-close-event-error-async.js | 31 +++++++++++++++++++ .../test-quic-socket-close-event-error.js | 31 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 test/parallel/test-quic-socket-close-event-error-async.js create mode 100644 test/parallel/test-quic-socket-close-event-error.js diff --git a/test/parallel/test-quic-socket-close-event-error-async.js b/test/parallel/test-quic-socket-close-event-error-async.js new file mode 100644 index 00000000000000..3b4baf595a6618 --- /dev/null +++ b/test/parallel/test-quic-socket-close-event-error-async.js @@ -0,0 +1,31 @@ +// Flags: --no-warnings +'use strict'; + +const common = require('../common'); +if (!common.hasQuic) + common.skip('missing quic'); + +const assert = require('assert'); +const { + key, + cert, + ca, +} = require('../common/quic'); + +const { createQuicSocket } = require('net'); + +const options = { key, cert, ca, alpn: 'zzz' }; + +const server = createQuicSocket({ server: options }); + +server.on('error', common.mustNotCall()); + +server.on('close', common.mustCall(async () => { + throw new Error('boom'); +})); + +process.on('uncaughtException', (error) => { + assert.strictEqual(error.message, 'boom'); +}); + +server.destroy(); diff --git a/test/parallel/test-quic-socket-close-event-error.js b/test/parallel/test-quic-socket-close-event-error.js new file mode 100644 index 00000000000000..5160698518f345 --- /dev/null +++ b/test/parallel/test-quic-socket-close-event-error.js @@ -0,0 +1,31 @@ +// Flags: --no-warnings +'use strict'; + +const common = require('../common'); +if (!common.hasQuic) + common.skip('missing quic'); + +const assert = require('assert'); +const { + key, + cert, + ca, +} = require('../common/quic'); + +const { createQuicSocket } = require('net'); + +const options = { key, cert, ca, alpn: 'zzz' }; + +const server = createQuicSocket({ server: options }); + +server.on('error', common.mustNotCall()); + +server.on('close', common.mustCall(() => { + throw new Error('boom'); +})); + +process.on('uncaughtException', (error) => { + assert.strictEqual(error.message, 'boom'); +}); + +server.destroy();