summaryrefslogtreecommitdiff
path: root/test/parallel/test-setproctitle.js
diff options
context:
space:
mode:
authorDavid Cai <davidcai1993@yahoo.com>2017-04-19 17:44:26 +0800
committerDavid Cai <davidcai1993@yahoo.com>2017-04-21 14:38:23 +0800
commitee0620b2353df2a4857fc962805b6a0b2cbb0f3a (patch)
tree4bb14b2c8ad9ef84af790625807ac9f698cba05c /test/parallel/test-setproctitle.js
parentb48581349936dc27f0dc46b992563fe1cf9fae4c (diff)
downloadandroid-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.js14
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);
+}));