Created
October 5, 2012 13:22
-
-
Save morkai/3839778 to your computer and use it in GitHub Desktop.
node.js cwd on Windows
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
root@ubuntu:/workspace/node/cwd# uname -a | |
Linux ubuntu 2.6.35-30-generic #61-Ubuntu SMP Tue Oct 11 15:29:15 UTC 2011 i686 GNU/Linux | |
root@ubuntu:/workspace/node/cwd# node -v | |
v0.8.11 | |
root@ubuntu:/workspace/node/cwd# node test-node.js | |
Test 1 | |
exec cmd = node cwd.js | |
exec cwd = undefined | |
FAILED (AS IT SHOULD) :> | |
expected process cwd = | |
actual process cwd = | |
Test 2 | |
exec cmd = node cwd.js | |
exec cwd = /workspace/node/cwd/scripts | |
PASSED :) | |
expected process cwd = /workspace/node/cwd/scripts | |
actual process cwd = /workspace/node/cwd/scripts | |
Test 3 | |
exec cmd = node scripts/cwd.js | |
exec cwd = undefined | |
PASSED :) | |
expected process cwd = /workspace/node/cwd | |
actual process cwd = /workspace/node/cwd | |
Test 4 | |
exec cmd = node scripts/cwd.js | |
exec cwd = /workspace/node/cwd/scripts | |
FAILED (AS IT SHOULD) :> | |
expected process cwd = | |
actual process cwd = | |
Test 5 | |
exec cmd = node /workspace/node/cwd/scripts/cwd.js | |
exec cwd = undefined | |
PASSED :) | |
expected process cwd = /workspace/node/cwd | |
actual process cwd = /workspace/node/cwd | |
Test 6 | |
exec cmd = node /workspace/node/cwd/scripts/cwd.js | |
exec cwd = /workspace/node/cwd/scripts | |
PASSED :) | |
expected process cwd = /workspace/node/cwd/scripts | |
actual process cwd = /workspace/node/cwd/scripts | |
root@ubuntu:/workspace/node/cwd# node test-simple.js | |
Test 1 | |
exec cmd = pwd | |
exec cwd = /workspace/node/cwd/scripts | |
PASSED :) | |
expected process cwd = /workspace/node/cwd/scripts | |
actual process cwd = /workspace/node/cwd/scripts | |
Test 2 | |
exec cmd = pwd | |
exec cwd = undefined | |
PASSED :) | |
expected process cwd = /workspace/node/cwd | |
actual process cwd = /workspace/node/cwd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
C:\Workspace\node\cwd>uname -a | |
WindowsNT omghi2u2 1 6 x86 | |
C:\Workspace\node\cwd>node -v | |
v0.8.11 | |
C:\Workspace\node\cwd>node test-node.js | |
Test 1 | |
exec cmd = node cwd.js | |
exec cwd = undefined | |
FAILED (AS IT SHOULD) :> | |
expected process cwd = | |
actual process cwd = | |
Test 2 | |
exec cmd = node cwd.js | |
exec cwd = C:\Workspace\node\cwd\scripts | |
FAILED :( | |
expected process cwd = C:\Workspace\node\cwd\scripts | |
actual process cwd = | |
Test 3 | |
exec cmd = node scripts\cwd.js | |
exec cwd = undefined | |
FAILED :( | |
expected process cwd = C:\Workspace\node\cwd | |
actual process cwd = | |
Test 4 | |
exec cmd = node scripts\cwd.js | |
exec cwd = C:\Workspace\node\cwd\scripts | |
FAILED (AS IT SHOULD) :> | |
expected process cwd = | |
actual process cwd = | |
Test 5 | |
exec cmd = node C:\Workspace\node\cwd\scripts\cwd.js | |
exec cwd = undefined | |
FAILED :( | |
expected process cwd = C:\Workspace\node\cwd | |
actual process cwd = C:\ | |
Test 6 | |
exec cmd = node C:\Workspace\node\cwd\scripts\cwd.js | |
exec cwd = C:\Workspace\node\cwd\scripts | |
FAILED :( | |
expected process cwd = C:\Workspace\node\cwd\scripts | |
actual process cwd = C:\ | |
C:\Workspace\node\cwd>node test-simple.js | |
Test 1 | |
exec cmd = echo %CD% | |
exec cwd = C:\Workspace\node\cwd\scripts | |
FAILED :( | |
expected process cwd = C:\Workspace\node\cwd\scripts | |
actual process cwd = C:\ | |
Test 2 | |
exec cmd = echo %CD% | |
exec cwd = undefined | |
FAILED :( | |
expected process cwd = C:\Workspace\node\cwd | |
actual process cwd = C:\ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
process.stdout.write(process.cwd()); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var exec = require('child_process').exec; | |
var path = require('path'); | |
function test(i, expectedProcessCwd, cmd, cwd) | |
{ | |
exec('node ' + cmd, {cwd: cwd}, function(err, actualProcessCwd) | |
{ | |
console.log('Test %d', i); | |
console.log('exec cmd = node %s', cmd); | |
console.log('exec cwd = %s', cwd); | |
if (expectedProcessCwd === actualProcessCwd) | |
{ | |
if (err) | |
{ | |
console.log('FAILED (AS IT SHOULD) :>'); | |
} | |
else | |
{ | |
console.log('PASSED :)'); | |
} | |
} | |
else | |
{ | |
console.log('FAILED :('); | |
} | |
console.log('expected process cwd = %s', expectedProcessCwd); | |
console.log('actual process cwd = %s', actualProcessCwd); | |
console.log(); | |
}); | |
} | |
var cwd = process.cwd(); | |
var baseDir = path.dirname(process.argv[1]).substr(cwd.length + 1); | |
var scriptFile = 'cwd.js'; | |
var scriptsPath = path.join(__dirname, 'scripts'); | |
var relativeScriptPath = path.join(baseDir, 'scripts', scriptFile); | |
var absoluteScriptPath = path.join(__dirname, 'scripts', scriptFile); | |
var i = 0; | |
test(++i, '' , scriptFile , undefined); | |
test(++i, scriptsPath, scriptFile , scriptsPath); | |
test(++i, cwd , relativeScriptPath, undefined); | |
test(++i, '' , relativeScriptPath, scriptsPath); | |
test(++i, cwd , absoluteScriptPath, undefined); | |
test(++i, scriptsPath, absoluteScriptPath, scriptsPath); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var exec = require('child_process').exec; | |
var join = require('path').join; | |
function test(i, expectedProcessCwd, cwd) | |
{ | |
var cmd = process.platform === 'win32' ? 'echo %CD%' : 'pwd'; | |
exec(cmd, {cwd: cwd}, function(err, actualProcessCwd) | |
{ | |
actualProcessCwd = actualProcessCwd.trim(); | |
console.log('Test %d', i); | |
console.log('exec cmd = %s', cmd); | |
console.log('exec cwd = %s', cwd); | |
if (expectedProcessCwd === actualProcessCwd) | |
{ | |
if (err) | |
{ | |
console.log('FAILED (AS IT SHOULD) :>'); | |
} | |
else | |
{ | |
console.log('PASSED :)'); | |
} | |
} | |
else | |
{ | |
console.log('FAILED :('); | |
} | |
console.log('expected process cwd = %s', expectedProcessCwd); | |
console.log('actual process cwd = %s', actualProcessCwd); | |
console.log(); | |
}); | |
} | |
var scriptsPath = join(__dirname, 'scripts'); | |
var i = 0; | |
test(++i, scriptsPath , scriptsPath); | |
test(++i, process.cwd(), undefined); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment