diff options
| -rw-r--r-- | lib/convertLcovToCoveralls.js | 5 | ||||
| -rw-r--r-- | test/convertLcovToCoveralls.js | 34 |
2 files changed, 38 insertions, 1 deletions
diff --git a/lib/convertLcovToCoveralls.js b/lib/convertLcovToCoveralls.js index ca2c2c0..e925343 100644 --- a/lib/convertLcovToCoveralls.js +++ b/lib/convertLcovToCoveralls.js @@ -61,7 +61,10 @@ var convertLcovToCoveralls = function(input, options, cb){ postJson.service_pull_request = options.service_pull_request; } parsed.forEach(function(file){ - postJson.source_files.push(convertLcovFileObject(file, filepath)); + var currentFilePath = path.resolve(filepath, file.file); + if (fs.existsSync(currentFilePath)) { + postJson.source_files.push(convertLcovFileObject(file, filepath)); + } }); return cb(null, postJson); }); diff --git a/test/convertLcovToCoveralls.js b/test/convertLcovToCoveralls.js index 82ffdc8..bb4d8a6 100644 --- a/test/convertLcovToCoveralls.js +++ b/test/convertLcovToCoveralls.js @@ -75,12 +75,46 @@ describe("convertLcovToCoveralls", function(){ return originalReadFileSync.apply(fs, arguments); }; + var originalExistsSync = fs.existsSync; + fs.existsSync = function () { return true; }; + convertLcovToCoveralls(input, {filepath: libpath}, function(err, output){ fs.readFileSync = originalReadFileSync; + fs.existsSync = originalExistsSync; should.not.exist(err); output.source_files[0].name.should.equal(path.join("svgo", "config.js")); done(); }); }); + + it ("should ignore files that do not exists", function(done){ + process.env.TRAVIS_JOB_ID = -1; + var lcovpath = __dirname + "/../fixtures/istanbul.lcov"; + var input = fs.readFileSync(lcovpath, "utf8"); + var libpath = "/Users/deepsweet/Dropbox/projects/svgo/lib"; + var sourcepath = path.resolve(libpath, "svgo/config.js"); + + var originalReadFileSync = fs.readFileSync; + fs.readFileSync = function(filepath) { + if (filepath === sourcepath) { + return ''; + } + + return originalReadFileSync.apply(fs, arguments); + }; + + var originalExistsSync = fs.existsSync; + fs.existsSync = function () { return false; }; + + convertLcovToCoveralls(input, {filepath: libpath}, function(err, output){ + fs.readFileSync = originalReadFileSync; + fs.existsSync = originalExistsSync; + + should.not.exist(err); + output.source_files.should.be.empty; + done(); + }); + }); + }); |
