aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregg Caines <[email protected]>2014-02-11 09:01:40 -0800
committerGregg Caines <[email protected]>2014-02-11 09:01:40 -0800
commit3fe6f13c867ebc94767a91a0ec71743870cb346a (patch)
treeb5dd382eca6085a8ca8ba3beabf5d4c56f0b3df6
parent7f7dad83d26e0d3c3326c260926acfcb6e05fa58 (diff)
parent2275311f3a1b9125993686161d76aa54e087705b (diff)
downloadnode-coveralls-3fe6f13c867ebc94767a91a0ec71743870cb346a.tar.xz
node-coveralls-3fe6f13c867ebc94767a91a0ec71743870cb346a.zip
Merge pull request #41 from SuperLikable/master
Windows compat fixes; travis-pro compatiblity
-rw-r--r--lib/convertLcovToCoveralls.js10
-rw-r--r--lib/detectLocalGit.js4
-rw-r--r--lib/getOptions.js9
-rw-r--r--package.json4
-rw-r--r--test/fetchGitData.js3
-rw-r--r--test/getOptions.js21
6 files changed, 26 insertions, 25 deletions
diff --git a/lib/convertLcovToCoveralls.js b/lib/convertLcovToCoveralls.js
index 15bf962..b73863a 100644
--- a/lib/convertLcovToCoveralls.js
+++ b/lib/convertLcovToCoveralls.js
@@ -13,11 +13,7 @@ var detailsToCoverage = function(length, details){
};
var convertLcovFileObject = function(file, filepath){
- if (file.file[0] !== '/'){
- filepath = path.join(filepath, file.file);
- } else {
- filepath = file.file;
- }
+ filepath = path.resolve(filepath, file.file);
var source = fs.readFileSync(filepath, 'utf8');
var lines = source.split("\n");
var coverage = detailsToCoverage(lines.length, file.lines.details);
@@ -29,9 +25,7 @@ var convertLcovFileObject = function(file, filepath){
var convertLcovToCoveralls = function(input, options, cb){
var filepath = options.filepath || '';
logger.debug("in: ", filepath);
- if (filepath[0] !== '/'){
- filepath = path.join(process.cwd(), filepath);
- }
+ filepath = path.resolve(process.cwd(), filepath);
lcovParse(input, function(err, parsed){
if (err){
logger.error("error from lcovParse: ", err);
diff --git a/lib/detectLocalGit.js b/lib/detectLocalGit.js
index 3d381db..302cd44 100644
--- a/lib/detectLocalGit.js
+++ b/lib/detectLocalGit.js
@@ -5,7 +5,7 @@ var REGEX_BRANCH = /^ref: refs\/heads\/(\w+)$/;
module.exports = function detectLocalGit(knownCommit, knownBranch) {
var dir = process.cwd(), gitDir;
- while ('/' !== dir) {
+ while (path.resolve('/') !== dir) {
gitDir = path.join(dir, '.git');
var existsSync = fs.existsSync || path.existsSync;
if (existsSync(path.join(gitDir, 'HEAD')))
@@ -14,7 +14,7 @@ module.exports = function detectLocalGit(knownCommit, knownBranch) {
dir = path.dirname(dir);
}
- if ('/' === dir)
+ if (path.resolve('/') === dir)
return;
var head = fs.readFileSync(path.join(dir, '.git', 'HEAD'), 'utf-8').trim();
diff --git a/lib/getOptions.js b/lib/getOptions.js
index abd2f2e..3641ffc 100644
--- a/lib/getOptions.js
+++ b/lib/getOptions.js
@@ -1,6 +1,6 @@
var fs = require('fs');
var path = require('path');
-var yaml = require('yaml');
+var yaml = require('js-yaml');
var logger = require('./logger')();
var fetchGitData = require('./fetchGitData');
@@ -59,8 +59,11 @@ var getBaseOptions = function(cb){
var yml = path.join(process.cwd(), '.coveralls.yml');
try {
if (fs.statSync(yml).isFile()) {
- var evaluate = 'eval'; // hack for jshint
- options.repo_token = yaml[evaluate](fs.readFileSync(yml, 'utf8')).repo_token;
+ var coveralls_yaml_conf = yaml.safeLoad(fs.readFileSync(yml, 'utf8'));
+ options.repo_token = coveralls_yaml_conf.repo_token;
+ if(coveralls_yaml_conf.service_name) {
+ options.service_name = coveralls_yaml_conf.service_name;
+ }
}
} catch(ex){
logger.warn("Repo token could not be determined. Continuing without it.");
diff --git a/package.json b/package.json
index b927e96..fbdd304 100644
--- a/package.json
+++ b/package.json
@@ -27,9 +27,9 @@
"Arpad Borsos <[email protected]> (http://swatinem.de/)"
],
"dependencies": {
- "yaml": "0.2.3",
+ "js-yaml": "3.0.1",
"request": "2.16.2",
- "lcov-parse": "0.0.4",
+ "lcov-parse": "0.0.6",
"log-driver": "1.2.1"
},
"devDependencies": {
diff --git a/test/fetchGitData.js b/test/fetchGitData.js
index 9c00828..3b8b0fe 100644
--- a/test/fetchGitData.js
+++ b/test/fetchGitData.js
@@ -3,9 +3,6 @@ var fetchGitData = require('../lib/fetchGitData');
var getOptions = require('../index').getOptions;
describe("fetchGitData", function(){
- beforeEach(function(){
- process.env = {};
- });
it("should throw an error when no data is passed", function() {
fetchGitData.should.throw(/fetchGitData requires a callback/);
});
diff --git a/test/getOptions.js b/test/getOptions.js
index f9b2494..fc33012 100644
--- a/test/getOptions.js
+++ b/test/getOptions.js
@@ -197,18 +197,25 @@ var testRepoTokenDetection = function(sut, done) {
var fs = require('fs');
var path = require('path');
- var file = path.join(process.cwd(), '.coveralls.yml'), token, synthetic = false;
+ var file = path.join(process.cwd(), '.coveralls.yml'), token, service_name, synthetic = false;
if (fs.exists(file)) {
- var yaml = require('yaml');
- /* jshint evil:true */
- token = yaml.eval(fs.readFileSync(yml, 'utf8')).repo_token;
+ var yaml = require('js-yaml');
+ var coveralls_yml_doc = yaml.safeLoad(fs.readFileSync(yml, 'utf8'));
+ token = coveralls_yml_doc.repo_token;
+ if(coveralls_yml_doc.service_name) {
+ service_name = coveralls_yml_doc.service_name;
+ }
} else {
token = 'REPO_TOKEN';
- fs.writeFileSync(file, 'repo_token: ' + token);
+ service_name = 'travis-pro';
+ fs.writeFileSync(file, 'repo_token: ' + token+'\nservice_name: ' + service_name);
synthetic = true;
}
sut(function(err, options) {
options.repo_token.should.equal(token);
+ if(service_name) {
+ options.service_name.should.equal(service_name);
+ }
if (synthetic)
fs.unlink(file);
done();
@@ -301,7 +308,7 @@ function ensureLocalGitContext(options) {
var fs = require('fs');
var baseDir = process.cwd(), dir = baseDir, gitDir;
- while ('/' !== dir) {
+ while (path.resolve('/') !== dir) {
gitDir = path.join(dir, '.git');
var existsSync = fs.existsSync || path.existsSync;
if (existsSync(path.join(gitDir, 'HEAD')))
@@ -311,7 +318,7 @@ function ensureLocalGitContext(options) {
}
options = options || {};
- var synthetic = '/' === dir;
+ var synthetic = path.resolve('/') === dir;
var gitHead, content, branch, id, wrapUp = function() {};
if (synthetic) {