1'use strict'; 2 3require('../common'); 4const assert = require('assert'); 5const { Worker } = require('worker_threads'); 6 7{ 8 const expectedErr = { 9 code: 'ERR_INVALID_ARG_TYPE', 10 name: 'TypeError' 11 }; 12 13 assert.throws(() => { 14 new Worker(__filename, { execArgv: 'hello' }); 15 }, expectedErr); 16 assert.throws(() => { 17 new Worker(__filename, { execArgv: 6 }); 18 }, expectedErr); 19} 20 21{ 22 const expectedErr = { 23 code: 'ERR_WORKER_INVALID_EXEC_ARGV', 24 name: 'Error' 25 }; 26 assert.throws(() => { 27 new Worker(__filename, { execArgv: ['--foo'] }); 28 }, expectedErr); 29 assert.throws(() => { 30 new Worker(__filename, { execArgv: ['--title=blah'] }); 31 }, expectedErr); 32 assert.throws(() => { 33 new Worker(__filename, { execArgv: ['--redirect-warnings'] }); 34 }, expectedErr); 35} 36 37{ 38 const expectedErr = { 39 code: 'ERR_WORKER_INVALID_EXEC_ARGV', 40 name: 'Error' 41 }; 42 assert.throws(() => { 43 new Worker(__filename, { 44 env: { 45 NODE_OPTIONS: '--nonexistent-options' 46 } 47 }); 48 }, expectedErr); 49} 50