node/test/parallel/test-setproctitle.js
Santiago Gimeno dee0e3a333 test: use common platform helpers everywhere
Use the common.isWindows, common.isFreeBSD and common.isSunOS where
possible.
Add common.isOSX and common.isLinux.
Fix `test-fs-read-file-sync-hostname` as in its current form was not
being run anywhere.

PR-URL: https://github.com/nodejs/node/pull/7845
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-07-27 08:25:26 +02:00

36 lines
1.1 KiB
JavaScript

'use strict';
// Original test written by Jakub Lekstan <kuebzky@gmail.com>
const common = require('../common');
require('../common');
// FIXME add sunos support
if (!(common.isFreeBSD || common.isOSX || common.isLinux)) {
console.log(`1..0 # Skipped: Unsupported platform [${process.platform}]`);
return;
}
var assert = require('assert');
var exec = require('child_process').exec;
var 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.
var title = 'testme';
assert.notEqual(process.title, title);
process.title = title;
assert.equal(process.title, title);
exec('ps -p ' + process.pid + ' -o args=', function(error, stdout, stderr) {
assert.equal(error, null);
assert.equal(stderr, '');
// freebsd always add ' (procname)' to the process title
if (common.isFreeBSD)
title += ` (${path.basename(process.execPath)})`;
// omitting trailing whitespace and \n
assert.equal(stdout.replace(/\s+$/, ''), title);
});