2017-01-27 03:20:51 -05:00
|
|
|
// Karma configuration file, see link for more information
|
2018-04-13 16:03:15 -04:00
|
|
|
// https://karma-runner.github.io/1.0/config/configuration-file.html
|
2020-02-07 06:38:58 -05:00
|
|
|
process.env.CHROME_BIN = require('puppeteer').executablePath();
|
2017-03-27 12:13:50 -04:00
|
|
|
|
2017-01-27 03:20:51 -05:00
|
|
|
module.exports = function (config) {
|
|
|
|
config.set({
|
|
|
|
basePath: '',
|
2018-04-07 00:09:12 -04:00
|
|
|
frameworks: ['jasmine', '@angular-devkit/build-angular'],
|
2017-01-27 03:20:51 -05:00
|
|
|
plugins: [
|
|
|
|
require('karma-jasmine'),
|
|
|
|
require('karma-chrome-launcher'),
|
2017-02-20 22:05:40 -05:00
|
|
|
require('karma-jasmine-html-reporter'),
|
|
|
|
require('karma-coverage-istanbul-reporter'),
|
2019-07-15 08:10:31 -04:00
|
|
|
require('@angular-devkit/build-angular/plugins/karma'),
|
|
|
|
{'reporter:jasmine-seed': ['type', JasmineSeedReporter]},
|
2017-01-27 03:20:51 -05:00
|
|
|
],
|
2018-04-13 16:03:15 -04:00
|
|
|
client: {
|
2019-07-15 08:10:31 -04:00
|
|
|
clearContext: false, // leave Jasmine Spec Runner output visible in browser
|
|
|
|
jasmine: {
|
|
|
|
random: true,
|
|
|
|
seed: '',
|
|
|
|
},
|
2017-02-20 22:05:40 -05:00
|
|
|
},
|
|
|
|
coverageIstanbulReporter: {
|
2019-04-25 11:06:40 -04:00
|
|
|
dir: require('path').join(__dirname, './coverage/site'),
|
|
|
|
reports: ['html', 'lcovonly', 'text-summary'],
|
2019-07-15 08:10:31 -04:00
|
|
|
fixWebpackSourcePaths: true,
|
2017-01-27 03:20:51 -05:00
|
|
|
},
|
2019-07-15 08:10:31 -04:00
|
|
|
reporters: ['progress', 'kjhtml', 'jasmine-seed'],
|
2017-01-27 03:20:51 -05:00
|
|
|
port: 9876,
|
|
|
|
colors: true,
|
|
|
|
logLevel: config.LOG_INFO,
|
|
|
|
autoWatch: true,
|
2020-02-07 06:38:58 -05:00
|
|
|
customLaunchers: {
|
|
|
|
ChromeHeadlessNoSandbox: {
|
|
|
|
base: 'ChromeHeadless',
|
|
|
|
// See /integration/README.md#browser-tests for more info on these args
|
2020-02-13 09:46:38 -05:00
|
|
|
flags: ['--no-sandbox', '--headless', '--disable-gpu', '--disable-dev-shm-usage', '--hide-scrollbars', '--mute-audio'],
|
|
|
|
},
|
2020-02-07 06:38:58 -05:00
|
|
|
},
|
2020-02-13 09:46:38 -05:00
|
|
|
browsers: ['ChromeHeadlessNoSandbox'],
|
2017-08-02 18:37:03 -04:00
|
|
|
browserNoActivityTimeout: 60000,
|
2018-01-18 13:58:40 -05:00
|
|
|
singleRun: false,
|
2019-07-15 08:10:31 -04:00
|
|
|
restartOnFileChange: true,
|
2017-01-27 03:20:51 -05:00
|
|
|
});
|
|
|
|
};
|
2019-07-15 08:10:31 -04:00
|
|
|
|
|
|
|
// Helpers
|
|
|
|
function JasmineSeedReporter(baseReporterDecorator) {
|
|
|
|
baseReporterDecorator(this);
|
|
|
|
|
|
|
|
this.onBrowserComplete = (browser, result) => {
|
|
|
|
const seed = result.order && result.order.random && result.order.seed;
|
|
|
|
if (seed) this.write(`${browser}: Randomized with seed ${seed}.\n`);
|
|
|
|
};
|
|
|
|
|
|
|
|
this.onRunComplete = () => undefined;
|
|
|
|
}
|