@@ -61,21 +61,30 @@ exit $ret
6161exports [ `test/basic.js TAP env shebang > shell 1` ] = `
6262#!/bin/sh
6363basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
64+ basedir_win=$basedir
6465
6566case \`uname\` in
66- *CYGWIN*|*MINGW*|*MSYS*)
67- if command -v cygpath > /dev/null 2>&1; then
68- basedir=\`cygpath -w "$basedir"\`
69- fi
70- ;;
67+ *CYGWIN*|*MINGW*|*MSYS*)
68+ if command -v cygpath > /dev/null 2>&1; then
69+ basedir_win=\`cygpath -w "$basedir"\`
70+ fi
71+ ;;
72+ *Linux*)
73+ if command -v wslpath > /dev/null 2>&1; then
74+ basedir_win=\`wslpath -w "$basedir"\`
75+ fi
7176esac
7277
73- if [ -x "$basedir/node" ]; then
74- exec "$basedir/node" "$basedir/from.env" "$@"
75- else
76- exec node "$basedir/from.env" "$@"
78+ NODE_EXE="$basedir/node"
79+ if ! [ -x "$NODE_EXE" ]; then
80+ NODE_EXE="$basedir/node.exe"
81+ if ! [ -x "$NODE_EXE" ]; then
82+ NODE_EXE=node
83+ fi
7784fi
7885
86+ exec "$NODE_EXE" "$basedir_win/from.env" "$@"
87+
7988`
8089
8190exports [ `test/basic.js TAP env shebang with args > cmd 1` ] = `
@@ -134,21 +143,30 @@ exit $ret
134143exports [ `test/basic.js TAP env shebang with args > shell 1` ] = `
135144#!/bin/sh
136145basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
146+ basedir_win=$basedir
137147
138148case \`uname\` in
139- *CYGWIN*|*MINGW*|*MSYS*)
140- if command -v cygpath > /dev/null 2>&1; then
141- basedir=\`cygpath -w "$basedir"\`
142- fi
143- ;;
149+ *CYGWIN*|*MINGW*|*MSYS*)
150+ if command -v cygpath > /dev/null 2>&1; then
151+ basedir_win=\`cygpath -w "$basedir"\`
152+ fi
153+ ;;
154+ *Linux*)
155+ if command -v wslpath > /dev/null 2>&1; then
156+ basedir_win=\`wslpath -w "$basedir"\`
157+ fi
144158esac
145159
146- if [ -x "$basedir/node" ]; then
147- exec "$basedir/node" --expose_gc "$basedir/from.env.args" "$@"
148- else
149- exec node --expose_gc "$basedir/from.env.args" "$@"
160+ NODE_EXE="$basedir/node"
161+ if ! [ -x "$NODE_EXE" ]; then
162+ NODE_EXE="$basedir/node.exe"
163+ if ! [ -x "$NODE_EXE" ]; then
164+ NODE_EXE=node
165+ fi
150166fi
151167
168+ exec "$NODE_EXE" --expose_gc "$basedir_win/from.env.args" "$@"
169+
152170`
153171
154172exports [ `test/basic.js TAP env shebang with variables > cmd 1` ] = `
@@ -208,21 +226,30 @@ exit $ret
208226exports [ `test/basic.js TAP env shebang with variables > shell 1` ] = `
209227#!/bin/sh
210228basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
229+ basedir_win=$basedir
211230
212231case \`uname\` in
213- *CYGWIN*|*MINGW*|*MSYS*)
214- if command -v cygpath > /dev/null 2>&1; then
215- basedir=\`cygpath -w "$basedir"\`
216- fi
217- ;;
232+ *CYGWIN*|*MINGW*|*MSYS*)
233+ if command -v cygpath > /dev/null 2>&1; then
234+ basedir_win=\`cygpath -w "$basedir"\`
235+ fi
236+ ;;
237+ *Linux*)
238+ if command -v wslpath > /dev/null 2>&1; then
239+ basedir_win=\`wslpath -w "$basedir"\`
240+ fi
218241esac
219242
220- if [ -x "$basedir/node" ]; then
221- exec NODE_PATH=./lib:$NODE_PATH "$basedir/node" "$basedir/from.env.variables" "$@"
222- else
223- exec NODE_PATH=./lib:$NODE_PATH node "$basedir/from.env.variables" "$@"
243+ NODE_EXE="$basedir/node"
244+ if ! [ -x "$NODE_EXE" ]; then
245+ NODE_EXE="$basedir/node.exe"
246+ if ! [ -x "$NODE_EXE" ]; then
247+ NODE_EXE=node
248+ fi
224249fi
225250
251+ exec NODE_PATH=./lib:$NODE_PATH "$NODE_EXE" "$basedir_win/from.env.variables" "$@"
252+
226253`
227254
228255exports [ `test/basic.js TAP explicit shebang > cmd 1` ] = `
@@ -281,21 +308,30 @@ exit $ret
281308exports [ `test/basic.js TAP explicit shebang > shell 1` ] = `
282309#!/bin/sh
283310basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
311+ basedir_win=$basedir
284312
285313case \`uname\` in
286- *CYGWIN*|*MINGW*|*MSYS*)
287- if command -v cygpath > /dev/null 2>&1; then
288- basedir=\`cygpath -w "$basedir"\`
289- fi
290- ;;
314+ *CYGWIN*|*MINGW*|*MSYS*)
315+ if command -v cygpath > /dev/null 2>&1; then
316+ basedir_win=\`cygpath -w "$basedir"\`
317+ fi
318+ ;;
319+ *Linux*)
320+ if command -v wslpath > /dev/null 2>&1; then
321+ basedir_win=\`wslpath -w "$basedir"\`
322+ fi
291323esac
292324
293- if [ -x "$basedir//usr/bin/sh" ]; then
294- exec "$basedir//usr/bin/sh" "$basedir/from.sh" "$@"
295- else
296- exec /usr/bin/sh "$basedir/from.sh" "$@"
325+ NODE_EXE="$basedir//usr/bin/sh"
326+ if ! [ -x "$NODE_EXE" ]; then
327+ NODE_EXE="$basedir//usr/bin/sh.exe"
328+ if ! [ -x "$NODE_EXE" ]; then
329+ NODE_EXE=/usr/bin/sh
330+ fi
297331fi
298332
333+ exec "$NODE_EXE" "$basedir_win/from.sh" "$@"
334+
299335`
300336
301337exports [ `test/basic.js TAP explicit shebang with args > cmd 1` ] = `
@@ -354,21 +390,30 @@ exit $ret
354390exports [ `test/basic.js TAP explicit shebang with args > shell 1` ] = `
355391#!/bin/sh
356392basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
393+ basedir_win=$basedir
357394
358395case \`uname\` in
359- *CYGWIN*|*MINGW*|*MSYS*)
360- if command -v cygpath > /dev/null 2>&1; then
361- basedir=\`cygpath -w "$basedir"\`
362- fi
363- ;;
396+ *CYGWIN*|*MINGW*|*MSYS*)
397+ if command -v cygpath > /dev/null 2>&1; then
398+ basedir_win=\`cygpath -w "$basedir"\`
399+ fi
400+ ;;
401+ *Linux*)
402+ if command -v wslpath > /dev/null 2>&1; then
403+ basedir_win=\`wslpath -w "$basedir"\`
404+ fi
364405esac
365406
366- if [ -x "$basedir//usr/bin/sh" ]; then
367- exec "$basedir//usr/bin/sh" -x "$basedir/from.sh.args" "$@"
368- else
369- exec /usr/bin/sh -x "$basedir/from.sh.args" "$@"
407+ NODE_EXE="$basedir//usr/bin/sh"
408+ if ! [ -x "$NODE_EXE" ]; then
409+ NODE_EXE="$basedir//usr/bin/sh.exe"
410+ if ! [ -x "$NODE_EXE" ]; then
411+ NODE_EXE=/usr/bin/sh
412+ fi
370413fi
371414
415+ exec "$NODE_EXE" -x "$basedir_win/from.sh.args" "$@"
416+
372417`
373418
374419exports [ `test/basic.js TAP if exists (it does exist) > cmd 1` ] = `
@@ -407,13 +452,18 @@ exit $LASTEXITCODE
407452exports [ `test/basic.js TAP if exists (it does exist) > shell 1` ] = `
408453#!/bin/sh
409454basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
455+ basedir_win=$basedir
410456
411457case \`uname\` in
412- *CYGWIN*|*MINGW*|*MSYS*)
413- if command -v cygpath > /dev/null 2>&1; then
414- basedir=\`cygpath -w "$basedir"\`
415- fi
416- ;;
458+ *CYGWIN*|*MINGW*|*MSYS*)
459+ if command -v cygpath > /dev/null 2>&1; then
460+ basedir_win=\`cygpath -w "$basedir"\`
461+ fi
462+ ;;
463+ *Linux*)
464+ if command -v wslpath > /dev/null 2>&1; then
465+ basedir_win=\`wslpath -w "$basedir"\`
466+ fi
417467esac
418468
419469exec "$basedir/from.exe" "$@"
@@ -456,13 +506,18 @@ exit $LASTEXITCODE
456506exports [ `test/basic.js TAP just proceed if reading fails > shell 1` ] = `
457507#!/bin/sh
458508basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
509+ basedir_win=$basedir
459510
460511case \`uname\` in
461- *CYGWIN*|*MINGW*|*MSYS*)
462- if command -v cygpath > /dev/null 2>&1; then
463- basedir=\`cygpath -w "$basedir"\`
464- fi
465- ;;
512+ *CYGWIN*|*MINGW*|*MSYS*)
513+ if command -v cygpath > /dev/null 2>&1; then
514+ basedir_win=\`cygpath -w "$basedir"\`
515+ fi
516+ ;;
517+ *Linux*)
518+ if command -v wslpath > /dev/null 2>&1; then
519+ basedir_win=\`wslpath -w "$basedir"\`
520+ fi
466521esac
467522
468523exec "$basedir/" "$@"
@@ -527,21 +582,30 @@ exit $ret
527582exports [ `test/basic.js TAP multiple variables > shell 1` ] = `
528583#!/bin/sh
529584basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
585+ basedir_win=$basedir
530586
531587case \`uname\` in
532- *CYGWIN*|*MINGW*|*MSYS*)
533- if command -v cygpath > /dev/null 2>&1; then
534- basedir=\`cygpath -w "$basedir"\`
535- fi
536- ;;
588+ *CYGWIN*|*MINGW*|*MSYS*)
589+ if command -v cygpath > /dev/null 2>&1; then
590+ basedir_win=\`cygpath -w "$basedir"\`
591+ fi
592+ ;;
593+ *Linux*)
594+ if command -v wslpath > /dev/null 2>&1; then
595+ basedir_win=\`wslpath -w "$basedir"\`
596+ fi
537597esac
538598
539- if [ -x "$basedir/node" ]; then
540- exec key=value key2=value2 "$basedir/node" --flag-one --flag-two "$basedir/from.env.multiple.variables" "$@"
541- else
542- exec key=value key2=value2 node --flag-one --flag-two "$basedir/from.env.multiple.variables" "$@"
599+ NODE_EXE="$basedir/node"
600+ if ! [ -x "$NODE_EXE" ]; then
601+ NODE_EXE="$basedir/node.exe"
602+ if ! [ -x "$NODE_EXE" ]; then
603+ NODE_EXE=node
604+ fi
543605fi
544606
607+ exec key=value key2=value2 "$NODE_EXE" --flag-one --flag-two "$basedir_win/from.env.multiple.variables" "$@"
608+
545609`
546610
547611exports [ `test/basic.js TAP no shebang > cmd 1` ] = `
@@ -580,13 +644,18 @@ exit $LASTEXITCODE
580644exports [ `test/basic.js TAP no shebang > shell 1` ] = `
581645#!/bin/sh
582646basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
647+ basedir_win=$basedir
583648
584649case \`uname\` in
585- *CYGWIN*|*MINGW*|*MSYS*)
586- if command -v cygpath > /dev/null 2>&1; then
587- basedir=\`cygpath -w "$basedir"\`
588- fi
589- ;;
650+ *CYGWIN*|*MINGW*|*MSYS*)
651+ if command -v cygpath > /dev/null 2>&1; then
652+ basedir_win=\`cygpath -w "$basedir"\`
653+ fi
654+ ;;
655+ *Linux*)
656+ if command -v wslpath > /dev/null 2>&1; then
657+ basedir_win=\`wslpath -w "$basedir"\`
658+ fi
590659esac
591660
592661exec "$basedir/from.exe" "$@"
@@ -649,19 +718,28 @@ exit $ret
649718exports [ `test/basic.js TAP shebang with env -S > shell 1` ] = `
650719#!/bin/sh
651720basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
721+ basedir_win=$basedir
652722
653723case \`uname\` in
654- *CYGWIN*|*MINGW*|*MSYS*)
655- if command -v cygpath > /dev/null 2>&1; then
656- basedir=\`cygpath -w "$basedir"\`
657- fi
658- ;;
724+ *CYGWIN*|*MINGW*|*MSYS*)
725+ if command -v cygpath > /dev/null 2>&1; then
726+ basedir_win=\`cygpath -w "$basedir"\`
727+ fi
728+ ;;
729+ *Linux*)
730+ if command -v wslpath > /dev/null 2>&1; then
731+ basedir_win=\`wslpath -w "$basedir"\`
732+ fi
659733esac
660734
661- if [ -x "$basedir/node" ]; then
662- exec "$basedir/node" --expose_gc "$basedir/from.env.S" "$@"
663- else
664- exec node --expose_gc "$basedir/from.env.S" "$@"
735+ NODE_EXE="$basedir/node"
736+ if ! [ -x "$NODE_EXE" ]; then
737+ NODE_EXE="$basedir/node.exe"
738+ if ! [ -x "$NODE_EXE" ]; then
739+ NODE_EXE=node
740+ fi
665741fi
666742
743+ exec "$NODE_EXE" --expose_gc "$basedir_win/from.env.S" "$@"
744+
667745`
0 commit comments