From f36c557aca3d8e86aba11023f0d2e74d314867de Mon Sep 17 00:00:00 2001 From: Marc Jansen Date: Sat, 19 Aug 2017 18:06:42 +0200 Subject: [PATCH 1/5] Ignore coverage output directory --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2dfbfc3697..c38cba70da 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /build/ -/node_modules/ +/coverage/ /dist/ +/node_modules/ From 53214f6ae1047101cc09a4898b6230710aff99a8 Mon Sep 17 00:00:00 2001 From: Marc Jansen Date: Sat, 19 Aug 2017 18:07:11 +0200 Subject: [PATCH 2/5] Bring back coverage reporting --- package.json | 1 + test/karma.config.js | 35 +++++++++++++++++++++++++++++++++-- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 2bd8d31506..e3ecfb7fbc 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,7 @@ "jquery": "3.2.1", "jscodeshift": "^0.3.30", "karma": "^1.7.0", + "karma-coverage": "^1.1.1", "karma-chrome-launcher": "^2.1.1", "karma-firefox-launcher": "^1.0.1", "karma-mocha": "^1.3.0", diff --git a/test/karma.config.js b/test/karma.config.js index 3dd92e325a..811506e411 100644 --- a/test/karma.config.js +++ b/test/karma.config.js @@ -49,6 +49,25 @@ module.exports = function(karma) { proxies: { '/rendering/': '/base/rendering/', '/spec/': '/base/spec/' + }, + preprocessors: { + // source files, that you wanna generate coverage for + // do not include tests or libraries + // (these files will be instrumented by Istanbul) + '../src/**/*.js': ['coverage'] + }, + reporters: ['coverage'], + coverageReporter: { + reporters: [ + { + type: 'lcov', // produces HTML output and lcov + dir: '../coverage/', + subdir: '.' + }, + { + type: 'text-summary' // prints the textual summary to the terminal + } + ] } }); @@ -91,11 +110,23 @@ module.exports = function(karma) { username: 'openlayers', accessKey: process.env.SAUCE_ACCESS_KEY }, - reporters: ['dots', 'saucelabs'], + reporters: ['dots', 'saucelabs', 'coverage'], captureTimeout: 240000, browserNoActivityTimeout: 240000, customLaunchers: customLaunchers, - browsers: Object.keys(customLaunchers) + browsers: Object.keys(customLaunchers), + coverageReporter: { + reporters: [ + { + type: 'lcovonly', // that's enough for coveralls, no HTML + dir: '../coverage/', + subdir: '.' + }, + { + type: 'text-summary' // prints the textual summary to the terminal + } + ] + } }); } else { karma.set({ From d988e2871b5dffb0e42105abc7e0e8b15f1fdd4a Mon Sep 17 00:00:00 2001 From: Marc Jansen Date: Sat, 19 Aug 2017 18:07:57 +0200 Subject: [PATCH 3/5] Push coverage info to coveralls --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 173b2289d0..09c0729eb7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,8 @@ cache: before_script: - rm src/ol/renderer/webgl/*shader.js script: make ci +after_success: +- cat coverage/lcov.info | coveralls branches: only: - master From 33adabf168d5a907aa99dad5675c851803f7ff39 Mon Sep 17 00:00:00 2001 From: Marc Jansen Date: Sat, 19 Aug 2017 20:28:00 +0200 Subject: [PATCH 4/5] Bring back the progress reporter --- test/karma.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/karma.config.js b/test/karma.config.js index 811506e411..0d7e250245 100644 --- a/test/karma.config.js +++ b/test/karma.config.js @@ -56,7 +56,7 @@ module.exports = function(karma) { // (these files will be instrumented by Istanbul) '../src/**/*.js': ['coverage'] }, - reporters: ['coverage'], + reporters: ['progress', 'coverage'], coverageReporter: { reporters: [ { From 27baa3d6982550c3856c8cdc52083ca39e4f77c3 Mon Sep 17 00:00:00 2001 From: Marc Jansen Date: Sat, 19 Aug 2017 20:33:02 +0200 Subject: [PATCH 5/5] Fix typo in where-function I wonder how this has ever worked before. Black magic. --- test/test-extensions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test-extensions.js b/test/test-extensions.js index a3d45294fb..6811091eeb 100644 --- a/test/test-extensions.js +++ b/test/test-extensions.js @@ -502,7 +502,7 @@ goog.require('ol.renderer.webgl.Map'); } return { describe: features[key] ? global.describe : global.xdescribe, - it: features[key] ? global.id : global.xit + it: features[key] ? global.it : global.xit }; };