mirror of https://github.com/lukechilds/node.git
Browse Source
3c92ca2b5c
should have had tests
to go along with it. This adds tests for the following functions:
* `process.geteuid()`
* `process.seteuid()`
* `process.getegid()`
* `process.setegid()`
PR-URL: https://github.com/nodejs/node/pull/14091
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Claudio Rodriguez <cjrodr@yahoo.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
v6
1 changed files with 49 additions and 0 deletions
@ -0,0 +1,49 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
const common = require('../common'); |
||||
|
const assert = require('assert'); |
||||
|
|
||||
|
if (common.isWindows) { |
||||
|
assert.strictEqual(process.geteuid, undefined); |
||||
|
assert.strictEqual(process.getegid, undefined); |
||||
|
assert.strictEqual(process.seteuid, undefined); |
||||
|
assert.strictEqual(process.setegid, undefined); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
assert.throws(() => { |
||||
|
process.seteuid({}); |
||||
|
}, /^TypeError: seteuid argument must be a number or string$/); |
||||
|
|
||||
|
assert.throws(() => { |
||||
|
process.seteuid('fhqwhgadshgnsdhjsdbkhsdabkfabkveybvf'); |
||||
|
}, /^Error: seteuid user id does not exist$/); |
||||
|
|
||||
|
// If we're not running as super user...
|
||||
|
if (process.getuid() !== 0) { |
||||
|
assert.doesNotThrow(() => { |
||||
|
process.getegid(); |
||||
|
process.geteuid(); |
||||
|
}); |
||||
|
|
||||
|
assert.throws(() => { |
||||
|
process.setegid('nobody'); |
||||
|
}, /^Error: (?:EPERM, .+|setegid group id does not exist)$/); |
||||
|
|
||||
|
assert.throws(() => { |
||||
|
process.seteuid('nobody'); |
||||
|
}, /^Error: (?:EPERM, .+|seteuid user id does not exist)$/); |
||||
|
|
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
// If we are running as super user...
|
||||
|
const oldgid = process.getegid(); |
||||
|
process.setegid('nobody'); |
||||
|
const newgid = process.getegid(); |
||||
|
assert.notStrictEqual(newgid, oldgid); |
||||
|
|
||||
|
const olduid = process.geteuid(); |
||||
|
process.seteuid('nobody'); |
||||
|
const newuid = process.geteuid(); |
||||
|
assert.notStrictEqual(newuid, olduid); |
Loading…
Reference in new issue