forked from enviPath/enviPy
179 lines
6.2 KiB
JavaScript
179 lines
6.2 KiB
JavaScript
var convertLcovToCoveralls = require('../index').convertLcovToCoveralls;
|
|
var getOptions = require('../index').getOptions;
|
|
var should = require('should');
|
|
var fs = require('fs');
|
|
var logger = require('../lib/logger');
|
|
var path = require('path');
|
|
logger = require('log-driver')({level : false});
|
|
|
|
describe("convertLcovToCoveralls", function(){
|
|
it ("should convert a simple lcov file", function(done){
|
|
delete process.env.TRAVIS;
|
|
var lcovpath = __dirname + "/../fixtures/onefile.lcov";
|
|
var input = fs.readFileSync(lcovpath, "utf8");
|
|
var libpath = __dirname + "/../fixtures/lib";
|
|
convertLcovToCoveralls(input, {filepath: libpath}, function(err, output){
|
|
should.not.exist(err);
|
|
output.source_files[0].name.should.equal("index.js");
|
|
output.source_files[0].source.split("\n").length.should.equal(173);
|
|
output.source_files[0].coverage[54].should.equal(0);
|
|
output.source_files[0].coverage[60].should.equal(0);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it ("should pass on all appropriate parameters from the environment", function(done){
|
|
delete process.env.TRAVIS;
|
|
process.env.COVERALLS_GIT_COMMIT = "GIT_HASH";
|
|
process.env.COVERALLS_GIT_BRANCH = "master";
|
|
process.env.COVERALLS_SERVICE_NAME = "SERVICE_NAME";
|
|
process.env.COVERALLS_SERVICE_JOB_ID = "SERVICE_JOB_ID";
|
|
process.env.COVERALLS_REPO_TOKEN = "REPO_TOKEN";
|
|
process.env.CI_PULL_REQUEST = "https://github.com/fake/fake/pulls/123";
|
|
process.env.COVERALLS_PARALLEL = "true";
|
|
|
|
getOptions(function(err, options){
|
|
var lcovpath = __dirname + "/../fixtures/onefile.lcov";
|
|
var input = fs.readFileSync(lcovpath, "utf8");
|
|
var libpath = "fixtures/lib";
|
|
options.filepath = libpath;
|
|
convertLcovToCoveralls(input, options, function(err, output){
|
|
should.not.exist(err);
|
|
output.service_pull_request.should.equal("123");
|
|
output.parallel.should.equal(true);
|
|
//output.git.should.equal("GIT_HASH");
|
|
done();
|
|
});
|
|
});
|
|
});
|
|
it ("should work with a relative path as well", function(done){
|
|
delete process.env.TRAVIS;
|
|
var lcovpath = __dirname + "/../fixtures/onefile.lcov";
|
|
var input = fs.readFileSync(lcovpath, "utf8");
|
|
var libpath = "fixtures/lib";
|
|
convertLcovToCoveralls(input, {filepath: libpath}, function(err, output){
|
|
should.not.exist(err);
|
|
output.source_files[0].name.should.equal("index.js");
|
|
output.source_files[0].source.split("\n").length.should.equal(173);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it ("should convert absolute input paths to relative", function(done){
|
|
delete process.env.TRAVIS;
|
|
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 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 handle branch coverage data", 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 true; };
|
|
|
|
convertLcovToCoveralls(input, {filepath: libpath}, function(err, output){
|
|
fs.readFileSync = originalReadFileSync;
|
|
fs.existsSync = originalExistsSync;
|
|
|
|
should.not.exist(err);
|
|
output.source_files[0].branches.slice(0,8).should.eql([18,1,0,85,18,1,1,2]);
|
|
done();
|
|
});
|
|
});
|
|
|
|
it ("should ignore files that do not exists", function(done){
|
|
delete process.env.TRAVIS;
|
|
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();
|
|
});
|
|
});
|
|
|
|
it ("should parse file paths concatenated by typescript and ng 2", function(done) {
|
|
process.env.TRAVIS_JOB_ID = -1;
|
|
var lcovpath = __dirname + "/../fixtures/istanbul.remap.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 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();
|
|
});
|
|
});
|
|
|
|
});
|