Skip to content

Commit 2d2c4ec

Browse files
committed
updated more notes on how shell works
1 parent 0f03912 commit 2d2c4ec

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

dev/node-fs-utils-dev/tests/dev-specific/spawnCmd-cwd.test.mjs

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,47 @@ describe('spawncmd empty env', function(){
155155
};
156156
//windowsVerbatimArguments: true,//for windows?
157157
//also it uses COMSPEC... interesting...
158-
output = spawnSync(pwsh,['dev/node-fs-utils-dev/tests/dev-specific/generate-env-logs.ps1'],options)
158+
// process.env.comspec = "C:\\Windows\\system32\\cmd.exe";//C:\Windows\system32\cmd.exe /d /s /c '"echo hi"'
159+
// output = spawnSync("echo",['hi'],{ shell:true,})
160+
/* cmd */
161+
output = spawnSync(`C:\\Windows\\system32\\cmd.exe`,[`/d /s /c`,"echo hi"],{ shell:false,windowsVerbatimArguments:true, env:{
162+
// "COMSPEC": "C:\\Windows\\system32\\cmd.exe",
163+
// "HOMEDRIVE": "C:",
164+
// "HOMEPATH": "\\Users\\Jason",
165+
// "LOGONSERVER": "\\\\DESKTOP-2FU8K8O",
166+
// "PATH": "c:\\progra~1\\PowerShell\\7;C:\\Program Files\\ImageMagick-7.1.1-Q16-HDRI;C:\\Program Files (x86)\\OpenSSH\\;C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.7\\bin;C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.7\\libnvvp;C:\\Program Files\\Common Files\\Oracle\\Java\\javapath;C:\\Program Files (x86)\\Common Files\\Oracle\\Java\\javapath;C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\windows\\System32\\OpenSSH\\;C:\\Program Files\\PuTTY\\;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files\\NVIDIA Corporation\\Nsight Compute 2022.2.0\\;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\NVIDIA Corporation\\NVIDIA NvDLISR;C:\\Users\\Jason\\AppData\\Roaming\\nvm;C:\\Program Files\\nodejs;C:\\Program Files\\dotnet\\;C:\\SysinternalsSuite;C:\\Program Files (x86)\\Incredibuild;C:\\Program Files\\Docker\\Docker\\resources\\bin;C:\\Program Files\\Git\\cmd;C:\\Users\\Public\\bins\\ffmpeg\\bin;C:\\Program Files\\PowerShell\\7\\;C:\\Program Files\\ImageMagick-7.1.1-Q16-HDRI;C:\\cygwin64\\bin;C:\\Users\\Jason\\AppData\\Local\\pnpm;C:\\Users\\Jason\\.amplify\\bin;C:\\Users\\Jason\\AppData\\Local\\Microsoft\\WindowsApps;C:\\Users\\Jason\\AppData\\Local\\Programs\\GNU Octave\\Octave-6.2.0\\mingw64\\bin\\;C:\\Program Files (x86)\\GitHub CLI\\;C:\\Users\\Jason\\AppData\\Local\\GitHubDesktop\\bin;C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\MSBuild\\Current\\Bin\\;C:\\Users\\Jason\\AppData\\Roaming\\npm;C:\\Program Files\\Sublime Text 3;C:\\Program Files (x86)\\Nmap;C:\\Users\\Jason\\AppData\\Local\\Programs\\Microsoft VS Code\\bin;C:\\Users\\Jason\\AppData\\Roaming\\nvm;C:\\Program Files\\nodejs;C:\\Users\\Jason\\.dotnet\\tools;C:\\Program Files\\VirtViewer v11.0-256\\bin;C:\\Users\\Jason\\AppData\\Local\\Pandoc\\;C:\\Users\\Jason\\AppData\\Local\\Programs\\Tesseract-OCR;C:\\Program Files\\ImageMagick-7.1.1-Q16-HDRI;C:\\Users\\Jason\\AppData\\Roaming\\pypoetry\\venv\\Scripts;",
167+
"PATH": "c:\\progra~1\\PowerShell\\7;C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\windows\\System32\\OpenSSH\\", //enough for echo cmd...
168+
// "NODE_PATH": "C:\\Users\\Jason\\WebstormProjects\\nuxt3-win32-posix-path\\node_modules\\.pnpm\\node_modules",
169+
// "PATHEXT": ".COM;.EXE;.BAT;.CMD;.VBS;.JS;.WS;.MSC;.CPL",
170+
// "PROMPT": "$P$G",
171+
// "PSModulePath": "C:\\Users\\Jason\\OneDrive\\Documents\\PowerShell\\Modules;C:\\Program Files\\PowerShell\\Modules;c:\\progra~1\\powershell\\7\\Modules;;%ProgramFiles%\\WindowsPowerShell\\Modules;C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules",
172+
// "SYSTEMDRIVE": "C:",
173+
// "SYSTEMROOT": "C:\\Windows",
174+
// "TEMP": "C:\\Users\\Jason\\AppData\\Local\\Temp",
175+
// "USERDOMAIN": "DESKTOP-2FU8K8O",
176+
// "USERNAME": "Jason",
177+
// "USERPROFILE": "C:\\Users\\Jason",
178+
// "WINDIR": "C:\\Windows"
179+
180+
181+
182+
183+
},})
184+
assert.strictEqual(output.status,0);
185+
assert.strictEqual(output.stdout.toString().replace('\r',''),"hi\n");
186+
/* pwsh */
187+
//windowsVerbatimArguments: true,//for windows? doesnt seem to really do anything
188+
output = spawnSync(pwsh,['-Command',"write-host hi"],{ shell:false,windowsVerbatimArguments:true, env:{
189+
"PATH": "c:\\progra~1\\PowerShell\\7;C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\windows\\System32\\OpenSSH\\", //enough for echo cmd...
190+
},});
191+
// console.log(output);
192+
// console.log(output.stderr.toString());
193+
// console.log(output.stdout.toString());
194+
assert.strictEqual(output.status,0);
195+
assert.strictEqual(output.stdout.toString().replace('\r',''),"hi\n");
196+
197+
198+
// output = spawnSync(pwsh,['dev/node-fs-utils-dev/tests/dev-specific/generate-env-logs.ps1'],options)
159199
if(output.status !==0){
160200
console.error('stderr: ',output.stderr?.toString());
161201
console.error(output.error)

0 commit comments

Comments
 (0)