diff options
author | David Cai <davidcai1993@yahoo.com> | 2017-04-19 17:44:26 +0800 |
---|---|---|
committer | David Cai <davidcai1993@yahoo.com> | 2017-04-21 14:38:23 +0800 |
commit | ee0620b2353df2a4857fc962805b6a0b2cbb0f3a (patch) | |
tree | 4bb14b2c8ad9ef84af790625807ac9f698cba05c /test/parallel/test-setproctitle.js | |
parent | b48581349936dc27f0dc46b992563fe1cf9fae4c (diff) | |
download | android-node-v8-ee0620b2353df2a4857fc962805b6a0b2cbb0f3a.tar.gz android-node-v8-ee0620b2353df2a4857fc962805b6a0b2cbb0f3a.tar.bz2 android-node-v8-ee0620b2353df2a4857fc962805b6a0b2cbb0f3a.zip |
test: fix parallel/test-setproctitle.js on alpine
Since Busybox ps does not support -p switch, using ps -o and grep
instead to get the process title and then check it.
PR-URL: https://github.com/nodejs/node/pull/12413
Fixes: https://github.com/nodejs/node/issues/12399
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Diffstat (limited to 'test/parallel/test-setproctitle.js')
-rw-r--r-- | test/parallel/test-setproctitle.js | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/test/parallel/test-setproctitle.js b/test/parallel/test-setproctitle.js index 072ddd447e..39ed2e506c 100644 --- a/test/parallel/test-setproctitle.js +++ b/test/parallel/test-setproctitle.js @@ -14,7 +14,7 @@ const path = require('path'); // The title shouldn't be too long; libuv's uv_set_process_title() out of // security considerations no longer overwrites envp, only argv, so the // maximum title length is possibly quite short. -let title = 'testme'; +let title = 'test'; assert.notStrictEqual(process.title, title); process.title = title; @@ -25,7 +25,13 @@ if (common.isWindows) { return common.skip('Windows does not have "ps" utility'); } -exec(`ps -p ${process.pid} -o args=`, function callback(error, stdout, stderr) { +// To pass this test on alpine, since Busybox `ps` does not +// support `-p` switch, use `ps -o` and `grep` instead. +const cmd = common.isLinux ? + `ps -o pid,args | grep '${process.pid} ${title}' | grep -v grep` : + `ps -p ${process.pid} -o args=`; + +exec(cmd, common.mustCall((error, stdout, stderr) => { assert.ifError(error); assert.strictEqual(stderr, ''); @@ -34,5 +40,5 @@ exec(`ps -p ${process.pid} -o args=`, function callback(error, stdout, stderr) { title += ` (${path.basename(process.execPath)})`; // omitting trailing whitespace and \n - assert.strictEqual(stdout.replace(/\s+$/, ''), title); -}); + assert.strictEqual(stdout.replace(/\s+$/, '').endsWith(title), true); +})); |