From 93d3a3a6b561acb032f87abad2c6fe64eaff45ba Mon Sep 17 00:00:00 2001 From: cjihrig Date: Fri, 10 Feb 2017 10:31:29 -0500 Subject: [PATCH] test: add coverage for dgram _createSocketHandle() This commit adds code coverage to _createSocketHandle(), which the cluster module uses to create dgram sockets. PR-URL: https://github.com/nodejs/node/pull/11291 Reviewed-By: James M Snell --- .../test-dgram-create-socket-handle.js | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 test/parallel/test-dgram-create-socket-handle.js diff --git a/test/parallel/test-dgram-create-socket-handle.js b/test/parallel/test-dgram-create-socket-handle.js new file mode 100644 index 00000000000000..559d92be98d42d --- /dev/null +++ b/test/parallel/test-dgram-create-socket-handle.js @@ -0,0 +1,39 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const dgram = require('dgram'); +const UDP = process.binding('udp_wrap').UDP; +const _createSocketHandle = dgram._createSocketHandle; + +// Throws if an "existing fd" is passed in. +assert.throws(() => { + _createSocketHandle(common.localhostIPv4, 0, 'udp4', 42); +}, /^AssertionError: false == true$/); + +{ + // Create a handle that is not bound. + const handle = _createSocketHandle(null, null, 'udp4'); + + assert(handle instanceof UDP); + assert.strictEqual(typeof handle.fd, 'number'); + assert(handle.fd < 0); +} + +{ + // Create a bound handle. + const handle = _createSocketHandle(common.localhostIPv4, 0, 'udp4'); + + assert(handle instanceof UDP); + assert.strictEqual(typeof handle.fd, 'number'); + + if (!common.isWindows) + assert(handle.fd > 0); +} + +{ + // Return an error if binding fails. + const err = _createSocketHandle('localhost', 0, 'udp4'); + + assert.strictEqual(typeof err, 'number'); + assert(err < 0); +}