Skip to content

Commit

Permalink
test: Misc Windows unit test fixes
Browse files Browse the repository at this point in the history
Fixes #5071, #5073.

* Normalize capitalization of drive letter
* Fix `exit()` typo in failure path
* Ignore symlink tests (Windows) if not elevated

The `test_relative_input_cwd()` test was failing on Windows when
`skipSymlinks` was `true`. So we won't run it if `skipSymlinks` is
`true`.

When it failed, the unhandled error caused Node to die before
having a chance to clean up, which resulted in two files missing
in subsequent unit tests:

 * `test/fixtures/nested-index/one/hello.js`
 * `test/fixtures/nested-index/one/index.js`

We should probably find a way to isolate this test from the other
test (`simple/test-module-loading`) that was failing when this test
poluted the disk state.
  • Loading branch information
sblom committed Mar 19, 2013
1 parent 14a8fb8 commit a05f973
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 4 deletions.
5 changes: 5 additions & 0 deletions lib/path.js
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,11 @@ if (isWindows) {
tail = result[3],
trailingSlash = /[\\\/]$/.test(tail);

// If device is a drive letter, we'll normalize to lower case.
if (device && device.charAt(1) === ':') {
device = device[0].toLowerCase() + device.substr(1);
}

// Normalize the tail path
tail = normalizeArray(tail.split(/[\\\/]+/).filter(function(p) {
return !!p;
Expand Down
4 changes: 4 additions & 0 deletions test/simple/test-fs-realpath.js
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,10 @@ function test_cyclic_link_overprotection(callback) {

function test_relative_input_cwd(callback) {
console.log('test_relative_input_cwd');
if (skipSymlinks) {
console.log('skipping symlink test (no privs)');
return runNextTest();
}

// we need to get the relative path to the tmp dir from cwd.
// When the test runner is running it, that will be .../node/test
Expand Down
2 changes: 1 addition & 1 deletion test/simple/test-http-curl-chunk-problem.js
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ var server = http.createServer(function(req, res) {
cat.on('exit', function(code) {
if (code !== 0) {
console.error('subprocess exited with code ' + code);
exit(1);
process.exit(1);
}
res.end();
});
Expand Down
6 changes: 3 additions & 3 deletions test/simple/test-require-resolve.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ var assert = require('assert');
var path = require('path');

assert.equal(path.join(__dirname, '../fixtures/a.js'),
require.resolve('../fixtures/a'));
path.normalize(require.resolve('../fixtures/a')));
assert.equal(path.join(fixturesDir, 'a.js'),
require.resolve(path.join(fixturesDir, 'a')));
path.normalize(require.resolve(path.join(fixturesDir, 'a'))));
assert.equal(path.join(fixturesDir, 'nested-index', 'one', 'index.js'),
require.resolve('../fixtures/nested-index/one'));
path.normalize(require.resolve('../fixtures/nested-index/one')));
assert.equal('path', require.resolve('path'));

console.log('ok');

0 comments on commit a05f973

Please sign in to comment.