mirror of
https://github.com/heyarne/airsonic-ui.git
synced 2026-05-06 18:33:38 +02:00
53 lines
1.6 KiB
JavaScript
53 lines
1.6 KiB
JavaScript
const { execSync } = require('child_process')
|
|
|
|
module.exports = function (config) {
|
|
|
|
let browsers = null;
|
|
if (process.env.TRAVIS || process.env.CI) {
|
|
// custom config for continuous integration
|
|
browsers = ['ChromeHeadlessCI']
|
|
} else {
|
|
try {
|
|
// if Firefox is installed, use that as the test runner
|
|
execSync('which firefox')
|
|
browsers = ['FirefoxHeadless']
|
|
} catch (_) {
|
|
browsers = ['ChromeHeadless']
|
|
}
|
|
}
|
|
|
|
const configuration = {
|
|
browsers: browsers,
|
|
// The tests are sometimes run before the tests were completely written
|
|
// to disc; this is a known problem unfortunately. This is a hack to at
|
|
// least keep the browsers connected so the tests are compiled and run
|
|
// again even if a developer isn't aware of this
|
|
autoWatchBatchDelay: 100,
|
|
browserNoActivityTimeout: 60 * 1000 * 10,
|
|
// The directory where the output file lives
|
|
basePath: 'public/test',
|
|
// The file itself
|
|
files: ['ci.js'],
|
|
frameworks: ['cljs-test'],
|
|
plugins: [
|
|
'karma-cljs-test',
|
|
'karma-chrome-launcher',
|
|
'karma-firefox-launcher',
|
|
'karma-notify-reporter' // reporters are set in package.json
|
|
],
|
|
colors: true,
|
|
logLevel: config.LOG_INFO,
|
|
client: {
|
|
args: ["shadow.test.karma.init"]
|
|
},
|
|
// configure travis-ci; based on this: https://stackoverflow.com/questions/19255976/how-to-make-travis-execute-angular-tests-on-chrome-please-set-env-variable-chr#25661593
|
|
customLaunchers: {
|
|
ChromeHeadlessCI: {
|
|
base: 'ChromeHeadless',
|
|
flags: ['--no-sandbox', '--headless', '--nogpu']
|
|
}
|
|
}
|
|
}
|
|
|
|
config.set(configuration)
|
|
}
|