Use Chrome for unit tests and update dependencies

This adds karma-chrome-launcher and uses it instead of phantomjs for
running all unit tests. Currently, the 'phantomjs-prebuilt' package
downloads binaries from bitbucket, and gate job have been failing due
to rate limiting from their servers. Since Chrome is already being
installed from local mirrors as part of the 'npm run' job template,
this should avoid further problems.

Additionally, this bumps all npm dependencies to their latest
versions and removes several (such as babel) that are unused. Some
minor tweaks to gulp tasks were needed to account for changes, but
these are fairly minimal.

Change-Id: Ia003280ab30f2912935140ecd4734ae8a08dd44d
This commit is contained in:
Tim Buckley 2016-03-22 15:47:09 -06:00
parent e631b8c62c
commit 3df8815852
5 changed files with 57 additions and 74 deletions

View File

@ -10,7 +10,6 @@ var buffer = require('vinyl-buffer');
var streamify = require('gulp-streamify');
var watchify = require('watchify');
var browserify = require('browserify');
var babelify = require('babelify');
var uglify = require('gulp-uglify');
var handleErrors = require('../util/handleErrors');
var browserSync = require('browser-sync');
@ -35,9 +34,7 @@ function buildScript(file) {
}
var transforms = [
babelify,
ngAnnotate,
'brfs',
'bulkify'
];

View File

@ -6,6 +6,6 @@ var del = require('del');
gulp.task('clean', function(cb) {
del([config.dist.root], cb);
return del([config.dist.root]);
});

View File

@ -1,21 +1,13 @@
'use strict';
var path = require('path');
var gulp = require('gulp');
var karma = require('gulp-karma');
var karma = require('karma');
var config = require('../config');
gulp.task('unit', ['views'], function() {
// Nonsensical source to fall back to files listed in karma.conf.js,
// see https://github.com/lazd/gulp-karma/issues/9
return gulp.src('./thisdoesntexist')
.pipe(karma({
configFile: config.test.karma,
action: 'run'
}))
.on('error', function(err) {
// Make sure failed tests cause gulp to exit non-zero
throw err;
});
});
gulp.task('unit', ['views'], function(done) {
new karma.Server({
configFile: path.join(process.cwd(), config.test.karma)
}, done).start();
});

View File

@ -6,65 +6,59 @@
"repository": "none",
"license": "Apache 2.0",
"devDependencies": {
"angular": "1.5.0",
"angular-fontawesome": "^0.4.0",
"angular-mocks": "1.5.0",
"angular-ui-bootstrap": "^1.0.0",
"angular-ui-router": "^0.2.15",
"babelify": "^5.0.4",
"bootstrap": "^3.3.5",
"brfs": "^1.2.0",
"browser-sync": "^2.7.6",
"browserify": "^5.10.0",
"browserify-istanbul": "^0.2.0",
"browserify-ngannotate": "^0.1.0",
"angular": "1.5.2",
"angular-fontawesome": "0.4.0",
"angular-mocks": "1.5.2",
"angular-ui-bootstrap": "1.2.5",
"angular-ui-router": "0.2.18",
"bootstrap": "3.3.6",
"browser-sync": "2.11.2",
"browserify": "13.0.0",
"browserify-istanbul": "2.0.0",
"browserify-ngannotate": "2.0.0",
"bulk-require": "^0.2.1",
"bulkify": "^1.1.1",
"bulkify": "1.1.1",
"d3": "^3.5.6",
"del": "^0.1.3",
"eslint": "^1.10.3",
"del": "2.2.0",
"eslint": "~1.10.3",
"eslint-config-openstack": "1.2.4",
"eslint-plugin-angular": "0.12.0",
"express": "^4.7.2",
"gulp": "^3.8.8",
"gulp-angular-templatecache": "^1.3.0",
"gulp-autoprefixer": "^2.0.0",
"gulp-changed": "^1.0.0",
"gulp-filter": "^3.0.1",
"gulp-gzip": "^0.0.8",
"gulp-if": "^1.2.5",
"gulp-karma": "0.0.4",
"gulp-notify": "^2.0.0",
"gulp-protractor": "0.0.11",
"gulp-rename": "^1.2.0",
"gulp-replace": "^0.5.4",
"gulp-sass": "^1.3.3",
"gulp-sourcemaps": "^1.3.0",
"express": "4.13.4",
"gulp": "3.9.1",
"gulp-angular-templatecache": "1.8.0",
"gulp-autoprefixer": "3.1.0",
"gulp-changed": "1.3.0",
"gulp-filter": "4.0.0",
"gulp-gzip": "1.2.0",
"gulp-if": "2.0.0",
"gulp-notify": "2.2.0",
"gulp-protractor": "2.2.0",
"gulp-rename": "1.2.2",
"gulp-replace": "0.5.4",
"gulp-sass": "2.2.0",
"gulp-sourcemaps": "1.6.0",
"gulp-streamify": "0.0.5",
"gulp-uglify": "^1.0.1",
"gulp-util": "^3.0.1",
"isparta": "^3.0.3",
"jasmine-ajax": "^3.1.1",
"jasmine-core": "^2.3.4",
"jasmine-fixture": "^1.3.2",
"karma": "~0.12.0",
"karma-babel-preprocessor": "^4.0.1",
"karma-browserify": "^4.0.0",
"karma-cli": "0.0.4",
"karma-coverage": "0.2.6",
"karma-jasmine": "^0.3.6",
"karma-phantomjs-launcher": "0.2.0",
"morgan": "^1.6.1",
"gulp-uglify": "1.5.3",
"gulp-util": "3.0.7",
"isparta": "4.0.0",
"jasmine-ajax": "3.2.0",
"jasmine-core": "2.4.1",
"jasmine-fixture": "2.0.0",
"karma": "~0.13.22",
"karma-browserify": "5.0.3",
"karma-chrome-launcher": "0.2.3",
"karma-coverage": "0.5.5",
"karma-jasmine": "0.3.8",
"morgan": "1.7.0",
"nprogress": "^0.2.0",
"phantomjs-prebuilt": "^2.1.1",
"pretty-hrtime": "^1.0.0",
"pretty-hrtime": "1.0.2",
"protractor": "^2.2.0",
"run-sequence": "^1.1.2",
"run-sequence": "1.1.5",
"tiny-lr": "^0.1.6",
"uglifyify": "^3.0.1",
"vinyl-buffer": "^1.0.0",
"vinyl-source-stream": "^1.1.0",
"watchify": "^3.3.1"
"uglifyify": "3.0.1",
"vinyl-buffer": "1.0.0",
"vinyl-source-stream": "1.1.0",
"watchify": "3.7.0"
},
"scripts": {
"postinstall": "if [ ! -d .venv ]; then tox -epy27 --notest; fi",

View File

@ -10,10 +10,10 @@ module.exports = function(config) {
basePath: '../',
frameworks: ['jasmine', 'browserify'],
preprocessors: {
'app/js/**/*.js': ['browserify', 'babel', 'coverage']
'app/js/**/*.js': ['browserify', 'coverage']
},
browsers: ['PhantomJS'],
reporters: ['progress', 'coverage'],
browsers: ['Chrome'],
reporters: ['progress'],
autoWatch: true,
singleRun: true,