Fix #531: Submit code coverage to coveralls.io

This commit is contained in:
Paris Kasidiaris
2017-02-22 16:17:22 +02:00
parent 01b8e28a7d
commit 695a9523fe
5 changed files with 29 additions and 2 deletions
+3
View File
@@ -13,3 +13,6 @@ npm-debug.log
.env .env
build/ build/
.vscode/ .vscode/
# Directories needed for code coverage
/coverage/
+1
View File
@@ -16,3 +16,4 @@ addons:
notifications: notifications:
email: false email: false
script: npm run $NPM_COMMAND script: npm run $NPM_COMMAND
after_success: npm run coveralls
+20 -1
View File
@@ -1,7 +1,9 @@
const browserify = require('browserify'); const browserify = require('browserify');
const buffer = require('vinyl-buffer'); const buffer = require('vinyl-buffer');
const coveralls = require('gulp-coveralls');
const fs = require('fs-extra'); const fs = require('fs-extra');
const gulp = require('gulp'); const gulp = require('gulp');
const istanbul = require('gulp-istanbul');
const merge = require('merge-stream'); const merge = require('merge-stream');
const mocha = require('gulp-mocha'); const mocha = require('gulp-mocha');
const mochaPhantomJs = require('gulp-mocha-phantomjs'); const mochaPhantomJs = require('gulp-mocha-phantomjs');
@@ -70,9 +72,18 @@ gulp.task('browserify', ['tsc'], function() {
return merge(bundleStream, copyAddons, copyStylesheets); return merge(bundleStream, copyAddons, copyStylesheets);
}); });
gulp.task('test-mocha', function () { gulp.task('instrument-test', function () {
return gulp.src(['lib/**/*.js'])
// Covering files
.pipe(istanbul())
// Force `require` to return covered files
.pipe(istanbul.hookRequire());
});
gulp.task('test-mocha', ['instrument-test'], function () {
return gulp.src(['lib/*test.js', 'lib/**/*test.js'], {read: false}) return gulp.src(['lib/*test.js', 'lib/**/*test.js'], {read: false})
.pipe(mocha()) .pipe(mocha())
.pipe(istanbul.writeReports());
}); });
gulp.task('test-mocha-phantomjs', function () { gulp.task('test-mocha-phantomjs', function () {
@@ -91,6 +102,14 @@ gulp.task('sorcery', ['browserify'], function () {
chain.writeSync(); chain.writeSync();
}); });
/**
* Submit coverage results to coveralls.io
*/
gulp.task('coveralls', function () {
gulp.src('coverage/**/lcov.info')
.pipe(coveralls());
});
gulp.task('build', ['sorcery']); gulp.task('build', ['sorcery']);
gulp.task('test', ['test-mocha', 'test-mocha-phantomjs']); gulp.task('test', ['test-mocha', 'test-mocha-phantomjs']);
gulp.task('default', ['build']); gulp.task('default', ['build']);
+4 -1
View File
@@ -47,6 +47,8 @@
"glob": "^7.0.5", "glob": "^7.0.5",
"gulp": "^3.9.1", "gulp": "^3.9.1",
"gulp-cli": "^1.2.2", "gulp-cli": "^1.2.2",
"gulp-coveralls": "^0.1.4",
"gulp-istanbul": "^1.1.1",
"gulp-mocha": "^3.0.1", "gulp-mocha": "^3.0.1",
"gulp-mocha-phantomjs": "^0.12.0", "gulp-mocha-phantomjs": "^0.12.0",
"gulp-sourcemaps": "1.9.1", "gulp-sourcemaps": "1.9.1",
@@ -70,6 +72,7 @@
"test": "gulp test", "test": "gulp test",
"build:docs": "jsdoc -c jsdoc.json", "build:docs": "jsdoc -c jsdoc.json",
"build": "gulp build", "build": "gulp build",
"prepublish": "npm run build" "prepublish": "npm run build",
"coveralls": "gulp coveralls"
} }
} }
+1
View File
@@ -550,6 +550,7 @@ describe('xterm.js', function() {
describe('unicode - surrogates', function() { describe('unicode - surrogates', function() {
it('2 characters per cell', function () { it('2 characters per cell', function () {
this.timeout(10000); // This is needed because istanbul patches code and slows it down
var high = String.fromCharCode(0xD800); var high = String.fromCharCode(0xD800);
for (var i=0xDC00; i<=0xDCFF; ++i) { for (var i=0xDC00; i<=0xDCFF; ++i) {
xterm.write(high + String.fromCharCode(i)); xterm.write(high + String.fromCharCode(i));