diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2019-09-23 17:22:10 +0200 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2019-10-03 12:34:44 -0700 |
commit | 500720f5781b96147422614b82c1f85e22d6a6e8 (patch) | |
tree | b09135e15cada8813afbc39ba3d56db308e1b17c /test/parallel/test-dgram-socket-buffer-size.js | |
parent | 6ea51bc4918c05e293c30d5efc384a15ae6cfd7e (diff) | |
download | android-node-v8-500720f5781b96147422614b82c1f85e22d6a6e8.tar.gz android-node-v8-500720f5781b96147422614b82c1f85e22d6a6e8.tar.bz2 android-node-v8-500720f5781b96147422614b82c1f85e22d6a6e8.zip |
errors: make sure all Node.js errors show their properties
This improves Node.js errors by always showing the attached properties
when inspecting such an error. This applies especially to SystemError.
It did often not show any properties but now all properties will be
visible.
This is done in a mainly backwards compatible way. Instead of using
prototype getters and setters, the property is now set directly on the
error.
PR-URL: https://github.com/nodejs/node/pull/29677
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Diffstat (limited to 'test/parallel/test-dgram-socket-buffer-size.js')
-rw-r--r-- | test/parallel/test-dgram-socket-buffer-size.js | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/test/parallel/test-dgram-socket-buffer-size.js b/test/parallel/test-dgram-socket-buffer-size.js index c2936ba8fd..d3317e85c3 100644 --- a/test/parallel/test-dgram-socket-buffer-size.js +++ b/test/parallel/test-dgram-socket-buffer-size.js @@ -4,6 +4,7 @@ const common = require('../common'); const assert = require('assert'); const dgram = require('dgram'); +const { inspect } = require('util'); const { SystemError } = require('internal/errors'); const { internalBinding } = require('internal/test/binding'); const { @@ -22,7 +23,7 @@ function getExpectedError(type) { 'ENOTSOCK (socket operation on non-socket)' : 'EBADF (bad file descriptor)'; const error = { code: 'ERR_SOCKET_BUFFER_SIZE', - type: SystemError, + name: 'SystemError', message: `Could not get or set buffer size: ${syscall} returned ${suffix}`, info: { code, @@ -40,9 +41,25 @@ function getExpectedError(type) { const socket = dgram.createSocket('udp4'); - common.expectsError(() => { + assert.throws(() => { socket.setSendBufferSize(8192); - }, errorObj); + }, (err) => { + assert.strictEqual( + inspect(err).replace(/^ +at .*\n/gm, ''), + `SystemError [ERR_SOCKET_BUFFER_SIZE]: ${errorObj.message}\n` + + " code: 'ERR_SOCKET_BUFFER_SIZE',\n" + + ' info: {\n' + + ` errno: ${errorObj.info.errno},\n` + + ` code: '${errorObj.info.code}',\n` + + ` message: '${errorObj.info.message}',\n` + + ` syscall: '${errorObj.info.syscall}'\n` + + ' },\n' + + ` errno: [Getter/Setter: ${errorObj.info.errno}],\n` + + ` syscall: [Getter/Setter: '${errorObj.info.syscall}']\n` + + '}' + ); + return true; + }); common.expectsError(() => { socket.getSendBufferSize(); |