test: handle blank shells in test-os.js
The shell in /etc/passwd can be blank, in which case the user is given the default shell. Handle this by only checking the shell contains a path separator if the string isn't empty. PR-URL: https://github.com/nodejs/node/pull/16287 Fixes: https://github.com/nodejs/node/issues/15684 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
This commit is contained in:
parent
02a52670b8
commit
b5569dbe8d
@ -208,7 +208,11 @@ if (common.isWindows) {
|
||||
} else {
|
||||
is.number(pwd.uid);
|
||||
is.number(pwd.gid);
|
||||
assert.ok(pwd.shell.includes(path.sep));
|
||||
assert.strictEqual(typeof pwd.shell, 'string');
|
||||
// It's possible for /etc/passwd to leave the user's shell blank.
|
||||
if (pwd.shell.length > 0) {
|
||||
assert(pwd.shell.includes(path.sep));
|
||||
}
|
||||
assert.strictEqual(pwd.uid, pwdBuf.uid);
|
||||
assert.strictEqual(pwd.gid, pwdBuf.gid);
|
||||
assert.strictEqual(pwd.shell, pwdBuf.shell.toString('utf8'));
|
||||
|
Loading…
x
Reference in New Issue
Block a user