aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/convertLcovToCoveralls.js5
-rw-r--r--test/convertLcovToCoveralls.js34
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();
+ });
+ });
+
});