diff options
author | Gibson Fahnestock <gibfahn@gmail.com> | 2017-10-18 12:02:58 +0300 |
---|---|---|
committer | Myles Borins <mylesborins@google.com> | 2017-10-24 00:35:51 +0300 |
commit | 7e1a187df17b7ebad6ac977a374f0b138f98f43e (patch) | |
tree | 4c619c5435bb233fff33ec372b22062061059203 /test | |
parent | a16d3142143201d24094c41f991ee540e07799d8 (diff) |
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>
Diffstat (limited to 'test')
-rw-r--r-- | test/parallel/test-os.js | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/test/parallel/test-os.js b/test/parallel/test-os.js index 4246a769fdb..b35faeb7cd7 100644 --- a/test/parallel/test-os.js +++ b/test/parallel/test-os.js @@ -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')); |