mirror of
https://github.com/nodejs/node.git
synced 2025-08-15 13:48:44 +02:00

Align the code with the documentation and similar methods used to execute os commands - the `args` argument should be optional, and if omitted, treated as an empty array (`[]`). Fixes: https://github.com/nodejs/node/issues/58411 PR-URL: https://github.com/nodejs/node/pull/58412 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Richard Lau <richard.lau@ibm.com>
25 lines
774 B
JavaScript
25 lines
774 B
JavaScript
'use strict';
|
|
|
|
const { skip, isWindows, isIBMi } = require('../common');
|
|
const { fail } = require('assert');
|
|
const { isMainThread } = require('worker_threads');
|
|
const { dirname, join } = require('path');
|
|
const { existsSync } = require('fs');
|
|
|
|
if (!isMainThread) {
|
|
skip('process.execve is not available in Workers');
|
|
} else if (isWindows || isIBMi) {
|
|
skip('process.execve is not available in Windows or IBM i');
|
|
}
|
|
|
|
// Get full path to the executable used for the test
|
|
const executable = join(dirname(process.execPath), 'nop');
|
|
|
|
// Sanity check that the binary exists
|
|
if (!existsSync(executable)) {
|
|
skip(executable + ' binary is not available');
|
|
}
|
|
|
|
process.execve(executable);
|
|
// If process.execve succeeds, this should never be executed.
|
|
fail('process.execve failed');
|