From 77bbdfd409593dd0a1ed97eef153ac9ed8df10f7 Mon Sep 17 00:00:00 2001 From: Masashi Hirano Date: Tue, 12 Jun 2018 02:42:55 +0900 Subject: [PATCH] test: add tests for process.setgroups() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added tests to validate process.setgroups() arguments PR-URL: https://github.com/nodejs/node/pull/21286 Reviewed-By: Michaƫl Zasso Reviewed-By: Richard Lau Reviewed-By: James M Snell Reviewed-By: Luigi Pinca --- test/parallel/test-process-setgroups.js | 42 +++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 test/parallel/test-process-setgroups.js diff --git a/test/parallel/test-process-setgroups.js b/test/parallel/test-process-setgroups.js new file mode 100644 index 00000000000..982f4c41804 --- /dev/null +++ b/test/parallel/test-process-setgroups.js @@ -0,0 +1,42 @@ +'use strict'; +require('../common'); +const assert = require('assert'); + +assert.throws( + () => { + process.setgroups(); + }, + { + code: 'ERR_INVALID_ARG_TYPE', + name: 'TypeError [ERR_INVALID_ARG_TYPE]', + message: 'The "groups" argument must be of type Array. ' + + 'Received type undefined' + } +); + +assert.throws( + () => { + process.setgroups([1, -1]); + }, + { + code: 'ERR_OUT_OF_RANGE', + name: 'RangeError [ERR_OUT_OF_RANGE]', + message: 'The value of "groups[1]" is out of range. ' + + 'It must be >= 0 && < 4294967296. Received -1' + } +); + +[undefined, null, true, {}, [], () => {}].forEach((val) => { + assert.throws( + () => { + process.setgroups([val]); + }, + { + code: 'ERR_INVALID_ARG_TYPE', + name: 'TypeError [ERR_INVALID_ARG_TYPE]', + message: 'The "groups[0]" argument must be ' + + 'one of type number or string. ' + + `Received type ${typeof val}` + } + ); +});