diff options
| author | Gregg Caines <[email protected]> | 2014-02-11 09:01:40 -0800 |
|---|---|---|
| committer | Gregg Caines <[email protected]> | 2014-02-11 09:01:40 -0800 |
| commit | 3fe6f13c867ebc94767a91a0ec71743870cb346a (patch) | |
| tree | b5dd382eca6085a8ca8ba3beabf5d4c56f0b3df6 | |
| parent | 7f7dad83d26e0d3c3326c260926acfcb6e05fa58 (diff) | |
| parent | 2275311f3a1b9125993686161d76aa54e087705b (diff) | |
| download | node-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.js | 10 | ||||
| -rw-r--r-- | lib/detectLocalGit.js | 4 | ||||
| -rw-r--r-- | lib/getOptions.js | 9 | ||||
| -rw-r--r-- | package.json | 4 | ||||
| -rw-r--r-- | test/fetchGitData.js | 3 | ||||
| -rw-r--r-- | test/getOptions.js | 21 |
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) { |
