| 'use strict'; |
| |
| const { mustNotCall, skip, isWindows, isIBMi } = require('../common'); |
| const assert = require('assert'); |
| const { isMainThread } = require('worker_threads'); |
| |
| 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'); |
| } |
| |
| if (process.argv[2] === 'replaced') { |
| assert.strictEqual(process.argv[2], 'replaced'); |
| } else { |
| process.on('exit', mustNotCall()); |
| process.execve(process.execPath, [process.execPath, __filename, 'replaced'], process.env); |
| } |