From 95348f579d06ec763ed0628e133bb84fc30e86d5 Mon Sep 17 00:00:00 2001 From: OrgaChem Date: Fri, 21 Jun 2013 04:49:19 +0900 Subject: [PATCH] Fix a bug about cannot open absolute path fix a bug that is happen when nodeunit try to test a file has by the absolute path. 'path.join(process.cwd(), filename)' is a code in some reporters does not work when the 'filename' is absolute. instead use 'path.resolve', and it works with an absolute file name. --- lib/reporters/default.js | 2 +- lib/reporters/eclipse.js | 2 +- lib/reporters/html.js | 2 +- lib/reporters/junit.js | 8 ++++---- lib/reporters/machineout.js | 6 +++--- lib/reporters/minimal.js | 2 +- lib/reporters/nested.js | 2 +- lib/reporters/skip_passed.js | 2 +- lib/reporters/tap.js | 2 +- lib/reporters/verbose.js | 2 +- 10 files changed, 15 insertions(+), 15 deletions(-) diff --git a/lib/reporters/default.js b/lib/reporters/default.js index 9b4c66a1e..500614ccb 100644 --- a/lib/reporters/default.js +++ b/lib/reporters/default.js @@ -122,7 +122,7 @@ exports.run = function (files, options, callback) { }; if (files && files.length) { var paths = files.map(function (p) { - return path.join(process.cwd(), p); + return path.resolve(process.cwd(), p); }); nodeunit.runFiles(paths, opts); } else { diff --git a/lib/reporters/eclipse.js b/lib/reporters/eclipse.js index 6775ff126..37be6f1bf 100644 --- a/lib/reporters/eclipse.js +++ b/lib/reporters/eclipse.js @@ -36,7 +36,7 @@ exports.run = function (files, options, callback) { if (p.indexOf('/') === 0) { return p; } - return path.join(process.cwd(), p); + return path.resolve(process.cwd(), p); }); var tracker = track.createTracker(function (tracker) { if (tracker.unfinished()) { diff --git a/lib/reporters/html.js b/lib/reporters/html.js index 80866b6e7..d1ee7abb2 100644 --- a/lib/reporters/html.js +++ b/lib/reporters/html.js @@ -31,7 +31,7 @@ exports.run = function (files, options, callback) { var start = new Date().getTime(); var paths = files.map(function (p) { - return path.join(process.cwd(), p); + return path.resolve(process.cwd(), p); }); console.log(''); diff --git a/lib/reporters/junit.js b/lib/reporters/junit.js index d9a1d0203..97d11b76d 100644 --- a/lib/reporters/junit.js +++ b/lib/reporters/junit.js @@ -60,7 +60,7 @@ var ensureDir = function (path, callback) { var abspath = function (p, /*optional*/cwd) { if (p[0] === '/') return p; cwd = cwd || process.cwd(); - return path.normalize(path.join(cwd, p)); + return path.normalize(path.resolve(cwd, p)); }; @@ -94,7 +94,7 @@ exports.run = function (files, opts, callback) { var start = new Date().getTime(); var paths = files.map(function (p) { - return path.join(process.cwd(), p); + return path.resolve(process.cwd(), p); }); var modules = {} @@ -150,7 +150,7 @@ exports.run = function (files, opts, callback) { var rendered = ejs.render(tmpl, { locals: {suites: [module]} }); - var filename = path.join( + var filename = path.resolve( opts.output, module.name + '.xml' ); @@ -171,7 +171,7 @@ exports.run = function (files, opts, callback) { ' assertions (' + assertions.duration + 'ms)' ); } - + if (callback) callback(assertions.failures() ? new Error('We have got test failures.') : undefined); }); }); diff --git a/lib/reporters/machineout.js b/lib/reporters/machineout.js index 8e611fe47..9828fad7c 100644 --- a/lib/reporters/machineout.js +++ b/lib/reporters/machineout.js @@ -67,15 +67,15 @@ exports.run = function (files, options, callback) { return [type, name, filename, row, column, message].join(":"); }; var paths = files.map(function (p) { - return path.join(process.cwd(), p); + return path.resolve(process.cwd(), p); }); var tracker = track.createTracker(function (tracker) { if (tracker.unfinished()) { var names = tracker.names(); for (var i = 0; i < names.length; i += 1) { console.log(createErrorMessage( - 'Error', names[i], - '', '', '', + 'Error', names[i], + '', '', '', 'Undone tests - To fix this, make sure all tests call test.done()' )); } diff --git a/lib/reporters/minimal.js b/lib/reporters/minimal.js index 39f22fa39..c010e31f8 100644 --- a/lib/reporters/minimal.js +++ b/lib/reporters/minimal.js @@ -112,7 +112,7 @@ exports.run = function (files, options, callback) { if (files && files.length) { var paths = files.map(function (p) { - return path.join(process.cwd(), p); + return path.resolve(process.cwd(), p); }); nodeunit.runFiles(paths, opts); } else { diff --git a/lib/reporters/nested.js b/lib/reporters/nested.js index 25affca3c..d28649f24 100644 --- a/lib/reporters/nested.js +++ b/lib/reporters/nested.js @@ -57,7 +57,7 @@ exports.run = function (files, options) { var start = new Date().getTime(); var paths = files.map(function (p) { - return path.join(process.cwd(), p); + return path.resolve(process.cwd(), p); }); var tracker = track.createTracker(function (tracker) { var i, names; diff --git a/lib/reporters/skip_passed.js b/lib/reporters/skip_passed.js index 299a99a5e..0804556f9 100644 --- a/lib/reporters/skip_passed.js +++ b/lib/reporters/skip_passed.js @@ -52,7 +52,7 @@ exports.run = function (files, options, callback) { var start = new Date().getTime(); var paths = files.map(function (p) { - return path.join(process.cwd(), p); + return path.resolve(process.cwd(), p); }); nodeunit.runFiles(paths, { diff --git a/lib/reporters/tap.js b/lib/reporters/tap.js index 9a36aafc8..5e8795ee8 100644 --- a/lib/reporters/tap.js +++ b/lib/reporters/tap.js @@ -31,7 +31,7 @@ exports.run = function (files, options) { } var paths = files.map(function (p) { - return path.join(process.cwd(), p); + return path.resolve(process.cwd(), p); }); var output = new TapProducer(); output.pipe(process.stdout); diff --git a/lib/reporters/verbose.js b/lib/reporters/verbose.js index 228271b54..2a202d391 100644 --- a/lib/reporters/verbose.js +++ b/lib/reporters/verbose.js @@ -54,7 +54,7 @@ exports.run = function (files, options) { var start = new Date().getTime(); var paths = files.map(function (p) { - return path.join(process.cwd(), p); + return path.resolve(process.cwd(), p); }); var tracker = track.createTracker(function (tracker) { if (tracker.unfinished()) {