@@ -37,40 +37,40 @@ shell.config.fatal = old_fatal;
3737//
3838
3939// check if stdout goes to output
40- var result = shell . exec ( 'node -e \"console.log(1234);\"') ;
40+ var result = shell . exec ( JSON . stringify ( process . execPath ) + ' -e \"console.log(1234);\"') ;
4141assert . equal ( shell . error ( ) , null ) ;
4242assert . equal ( result . code , 0 ) ;
4343assert . ok ( result . stdout === '1234\n' || result . stdout === '1234\nundefined\n' ) ; // 'undefined' for v0.4
4444
4545// check if stderr goes to output
46- var result = shell . exec ( 'node -e \"console.error(1234);\"') ;
46+ var result = shell . exec ( JSON . stringify ( process . execPath ) + ' -e \"console.error(1234);\"') ;
4747assert . equal ( shell . error ( ) , null ) ;
4848assert . equal ( result . code , 0 ) ;
4949assert . ok ( result . stdout === '' || result . stdout === 'undefined\n' ) ; // 'undefined' for v0.4
5050assert . ok ( result . stderr === '1234\n' || result . stderr === '1234\nundefined\n' ) ; // 'undefined' for v0.4
5151
5252// check if stdout + stderr go to output
53- var result = shell . exec ( 'node -e \"console.error(1234); console.log(666);\"') ;
53+ var result = shell . exec ( JSON . stringify ( process . execPath ) + ' -e \"console.error(1234); console.log(666);\"') ;
5454assert . equal ( shell . error ( ) , null ) ;
5555assert . equal ( result . code , 0 ) ;
5656assert . ok ( result . stdout === '666\n' || result . stdout === '666\nundefined\n' ) ; // 'undefined' for v0.4
5757assert . ok ( result . stderr === '1234\n' || result . stderr === '1234\nundefined\n' ) ; // 'undefined' for v0.4
5858
5959// check exit code
60- var result = shell . exec ( 'node -e \"process.exit(12);\"') ;
60+ var result = shell . exec ( JSON . stringify ( process . execPath ) + ' -e \"process.exit(12);\"') ;
6161assert . ok ( shell . error ( ) ) ;
6262assert . equal ( result . code , 12 ) ;
6363
6464// interaction with cd
6565shell . cd ( 'resources/external' ) ;
66- var result = shell . exec ( 'node node_script.js') ;
66+ var result = shell . exec ( JSON . stringify ( process . execPath ) + ' node_script.js') ;
6767assert . equal ( shell . error ( ) , null ) ;
6868assert . equal ( result . code , 0 ) ;
6969assert . equal ( result . stdout , 'node_script_1234\n' ) ;
7070shell . cd ( '../..' ) ;
7171
7272// check quotes escaping
73- var result = shell . exec ( util . format ( 'node -e "console.log(%s);"', "\\\"\\'+\\'_\\'+\\'\\\"" ) ) ;
73+ var result = shell . exec ( util . format ( JSON . stringify ( process . execPath ) + ' -e "console.log(%s);"', "\\\"\\'+\\'_\\'+\\'\\\"" ) ) ;
7474assert . equal ( shell . error ( ) , null ) ;
7575assert . equal ( result . code , 0 ) ;
7676assert . equal ( result . stdout , "'+'_'+'\n" ) ;
@@ -93,11 +93,11 @@ if (process.version >= 'v0.11') { // this option doesn't work on v0.10
9393}
9494
9595// set timeout option
96- result = shell . exec ( 'node resources/exec/slow.js 100') ; // default timeout is ok
96+ result = shell . exec ( JSON . stringify ( process . execPath ) + ' resources/exec/slow.js 100') ; // default timeout is ok
9797assert . ok ( ! shell . error ( ) ) ;
9898assert . equal ( result . code , 0 ) ;
9999if ( process . version >= 'v0.11' ) { // this option doesn't work on v0.10
100- result = shell . exec ( 'node resources/exec/slow.js 100', { timeout : 10 } ) ; // times out
100+ result = shell . exec ( JSON . stringify ( process . execPath ) + ' resources/exec/slow.js 100', { timeout : 10 } ) ; // times out
101101 assert . ok ( shell . error ( ) ) ;
102102}
103103
@@ -138,30 +138,30 @@ assert.strictEqual(result.toString(), result.stdout);
138138//
139139
140140// no callback
141- var c = shell . exec ( 'node -e \"console.log(1234)\"', { async :true } ) ;
141+ var c = shell . exec ( JSON . stringify ( process . execPath ) + ' -e \"console.log(1234)\"', { async :true } ) ;
142142assert . equal ( shell . error ( ) , null ) ;
143143assert . ok ( 'stdout' in c , 'async exec returns child process object' ) ;
144144
145145//
146146// callback as 2nd argument
147147//
148- shell . exec ( 'node -e \"console.log(5678);\"', function ( code , stdout , stderr ) {
148+ shell . exec ( JSON . stringify ( process . execPath ) + ' -e \"console.log(5678);\"', function ( code , stdout , stderr ) {
149149 assert . equal ( code , 0 ) ;
150150 assert . ok ( stdout === '5678\n' || stdout === '5678\nundefined\n' ) ; // 'undefined' for v0.4
151151 assert . ok ( stderr === '' || stderr === 'undefined\n' ) ; // 'undefined' for v0.4
152152
153153 //
154154 // callback as 3rd argument
155155 //
156- shell . exec ( 'node -e \"console.log(5566);\"', { async :true } , function ( code , stdout , stderr ) {
156+ shell . exec ( JSON . stringify ( process . execPath ) + ' -e \"console.log(5566);\"', { async :true } , function ( code , stdout , stderr ) {
157157 assert . equal ( code , 0 ) ;
158158 assert . ok ( stdout === '5566\n' || stdout === '5566\nundefined\n' ) ; // 'undefined' for v0.4
159159 assert . ok ( stderr === '' || stderr === 'undefined\n' ) ; // 'undefined' for v0.4
160160
161161 //
162162 // callback as 3rd argument (slient:true)
163163 //
164- shell . exec ( 'node -e \"console.log(5678);\"', { silent :true } , function ( code , stdout , stderr ) {
164+ shell . exec ( JSON . stringify ( process . execPath ) + ' -e \"console.log(5678);\"', { silent :true } , function ( code , stdout , stderr ) {
165165 assert . equal ( code , 0 ) ;
166166 assert . ok ( stdout === '5678\n' || stdout === '5678\nundefined\n' ) ; // 'undefined' for v0.4
167167 assert . ok ( stderr === '' || stderr === 'undefined\n' ) ; // 'undefined' for v0.4
0 commit comments