Permalink
Browse files

errors: migrate socket_list to internal/errors

PR-URL: #11356
Refs: #11273
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
  • Loading branch information...
bougarfaoui authored and refack committed Feb 13, 2017
1 parent d8eb30a commit a03d8cee1f0cf7a95af01932b5c4356918476e60
Showing with 27 additions and 7 deletions.
  1. +5 −0 doc/api/errors.md
  2. +2 −1 lib/internal/errors.js
  3. +3 −1 lib/internal/socket_list.js
  4. +17 −5 test/parallel/test-internal-socket-list-send.js
View
@@ -580,6 +580,11 @@ by the `assert` module.
Used when attempting to perform an operation outside the bounds of a `Buffer`.
<a id="ERR_CHILD_CLOSED_BEFORE_REPLY"></a>
### ERR_CHILD_CLOSED_BEFORE_REPLY
Used when a child process is closed before the parent received a reply.
<a id="ERR_CONSOLE_WRITABLE_STREAM"></a>
### ERR_CONSOLE_WRITABLE_STREAM
View
@@ -102,6 +102,7 @@ module.exports = exports = {
E('ERR_ARG_NOT_ITERABLE', '%s must be iterable');
E('ERR_ASSERTION', '%s');
E('ERR_BUFFER_OUT_OF_BOUNDS', bufferOutOfBounds);
E('ERR_CHILD_CLOSED_BEFORE_REPLY', 'Child closed before reply received');
E('ERR_CONSOLE_WRITABLE_STREAM',
'Console expects a writable stream instance for %s');
E('ERR_CPU_USAGE', 'Unable to obtain cpu usage %s');
@@ -183,7 +184,7 @@ E('ERR_UNKNOWN_STDIN_TYPE', 'Unknown stdin file type');
E('ERR_UNKNOWN_STREAM_TYPE', 'Unknown stream file type');
E('ERR_V8BREAKITERATOR', 'Full ICU data not installed. ' +
'See https://github.com/nodejs/node/wiki/Intl');
// Add new errors from here...
function invalidArgType(name, expected, actual) {
assert(name, 'name is required');
@@ -1,5 +1,7 @@
'use strict';
const errors = require('internal/errors');
const EventEmitter = require('events');
// This object keeps track of the sockets that are sent
@@ -18,7 +20,7 @@ class SocketListSend extends EventEmitter {
function onclose() {
self.child.removeListener('internalMessage', onreply);
callback(new Error('child closed before reply'));
callback(new errors.Error('ERR_CHILD_CLOSED_BEFORE_REPLY'));
}
function onreply(msg) {
@@ -17,7 +17,11 @@ const key = 'test-key';
const list = new SocketListSend(child, 'test');
list._request('msg', 'cmd', common.mustCall((err) => {
assert.strictEqual(err.message, 'child closed before reply');
common.expectsError({
code: 'ERR_CHILD_CLOSED_BEFORE_REPLY',
type: Error,
message: 'Child closed before reply received'
})(err);
assert.strictEqual(child.listenerCount('internalMessage'), 0);
}));
}
@@ -55,7 +59,11 @@ const key = 'test-key';
const list = new SocketListSend(child, key);
list._request('msg', 'cmd', common.mustCall((err) => {
assert.strictEqual(err.message, 'child closed before reply');
common.expectsError({
code: 'ERR_CHILD_CLOSED_BEFORE_REPLY',
type: Error,
message: 'Child closed before reply received'
})(err);
assert.strictEqual(child.listenerCount('internalMessage'), 0);
}));
}
@@ -119,7 +127,7 @@ const key = 'test-key';
const count = 1;
const child = Object.assign(new EventEmitter(), {
connected: true,
send: function(msg) {
send: function() {
process.nextTick(() => {
this.emit('disconnect');
this.emit('internalMessage', { key, count, cmd: 'NODE_SOCKET_COUNT' });
@@ -129,8 +137,12 @@ const key = 'test-key';
const list = new SocketListSend(child, key);
list.getConnections(common.mustCall((err, msg) => {
assert.strictEqual(err.message, 'child closed before reply');
list.getConnections(common.mustCall((err) => {
common.expectsError({
code: 'ERR_CHILD_CLOSED_BEFORE_REPLY',
type: Error,
message: 'Child closed before reply received'
})(err);
assert.strictEqual(child.listenerCount('internalMessage'), 0);
}));
}

0 comments on commit a03d8ce

Please sign in to comment.