From b2035c88b7f789009796011ee51162da1d18c1c6 Mon Sep 17 00:00:00 2001 From: Masashi Hirano Date: Tue, 12 Jun 2018 02:42:55 +0900 Subject: [PATCH 1/2] test: add tests for process.setgroups() Added tests to validate process.setgroups() arguments --- 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 00000000000000..982f4c41804421 --- /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}` + } + ); +}); From c128340e9fec85371a07715b36acf7b37141573b Mon Sep 17 00:00:00 2001 From: Masashi Hirano Date: Wed, 13 Jun 2018 21:49:47 +0900 Subject: [PATCH 2/2] test: assert process.setgroups is undefined on windows --- test/parallel/test-process-setgroups.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/parallel/test-process-setgroups.js b/test/parallel/test-process-setgroups.js index 982f4c41804421..4019cb4888d197 100644 --- a/test/parallel/test-process-setgroups.js +++ b/test/parallel/test-process-setgroups.js @@ -1,7 +1,12 @@ 'use strict'; -require('../common'); +const common = require('../common'); const assert = require('assert'); +if (common.isWindows || !common.isMainThread) { + assert.strictEqual(process.setgroups, undefined); + return; +} + assert.throws( () => { process.setgroups();