'use strict'; const { isWindows, isIBMi, mustCall, skip } = require('../common'); const { throws } = require('assert'); const { isMainThread, Worker } = require('worker_threads'); if (isWindows || isIBMi) { skip('process.execve is not available in Windows or IBM i'); } if (isMainThread) { new Worker(__filename); } else { throws(mustCall(() => { process.execve( process.execPath, [__filename, 'replaced'], { ...process.env, EXECVE_A: 'FIRST', EXECVE_B: 'SECOND', CWD: process.cwd() } ); }), { name: 'TypeError', code: 'ERR_WORKER_UNSUPPORTED_OPERATION' }); }