|
|
|
var webpack = require('webpack')
|
|
|
|
var base = require('./karma.base.config.js')
|
|
|
|
|
|
|
|
base.webpack.plugins = [
|
|
|
|
new webpack.DefinePlugin({
|
|
|
|
__WEEX__: false,
|
|
|
|
'process.env': {
|
|
|
|
NODE_ENV: '"development"',
|
|
|
|
// sauce lab vms are slow!
|
|
|
|
TRANSITION_DURATION: 500,
|
|
|
|
TRANSITION_BUFFER: 50
|
|
|
|
}
|
|
|
|
})
|
|
|
|
]
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Having too many tests running concurrently on saucelabs
|
|
|
|
* causes timeouts and errors, so we have to run them in
|
|
|
|
* smaller batches.
|
|
|
|
*/
|
|
|
|
|
|
|
|
var batches = [
|
|
|
|
// the cool kids
|
|
|
|
{
|
|
|
|
sl_chrome: {
|
|
|
|
base: 'SauceLabs',
|
|
|
|
browserName: 'chrome',
|
|
|
|
platform: 'Windows 7'
|
|
|
|
},
|
|
|
|
sl_firefox: {
|
|
|
|
base: 'SauceLabs',
|
|
|
|
browserName: 'firefox'
|
|
|
|
},
|
|
|
|
sl_mac_safari: {
|
|
|
|
base: 'SauceLabs',
|
|
|
|
browserName: 'safari',
|
|
|
|
platform: 'OS X 10.10'
|
|
|
|
}
|
|
|
|
},
|
|
|
|
// ie family
|
|
|
|
{
|
|
|
|
sl_ie_9: {
|
|
|
|
base: 'SauceLabs',
|
|
|
|
browserName: 'internet explorer',
|
|
|
|
platform: 'Windows 7',
|
|
|
|
version: '9'
|
|
|
|
},
|
|
|
|
sl_ie_10: {
|
|
|
|
base: 'SauceLabs',
|
|
|
|
browserName: 'internet explorer',
|
|
|
|
platform: 'Windows 8',
|
|
|
|
version: '10'
|
|
|
|
},
|
|
|
|
sl_ie_11: {
|
|
|
|
base: 'SauceLabs',
|
|
|
|
browserName: 'internet explorer',
|
|
|
|
platform: 'Windows 8.1',
|
|
|
|
version: '11'
|
|
|
|
},
|
|
|
|
sl_edge: {
|
|
|
|
base: 'SauceLabs',
|
|
|
|
browserName: 'MicrosoftEdge',
|
|
|
|
platform: 'Windows 10'
|
|
|
|
}
|
|
|
|
},
|
|
|
|
// mobile
|
|
|
|
{
|
|
|
|
sl_ios_safari_9: {
|
|
|
|
base: 'SauceLabs',
|
|
|
|
browserName: 'iphone',
|
|
|
|
version: '10.3'
|
|
|
|
},
|
|
|
|
sl_android_6_0: {
|
|
|
|
base: 'SauceLabs',
|
|
|
|
browserName: 'android',
|
|
|
|
version: '6.0'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
module.exports = function (config) {
|
|
|
|
var batch = batches[process.argv[4] || 0]
|
|
|
|
|
|
|
|
config.set(Object.assign(base, {
|
|
|
|
singleRun: true,
|
|
|
|
browsers: Object.keys(batch),
|
|
|
|
customLaunchers: batch,
|
|
|
|
reporters: process.env.CI
|
|
|
|
? ['dots', 'saucelabs'] // avoid spamming CI output
|
|
|
|
: ['progress', 'saucelabs'],
|
|
|
|
sauceLabs: {
|
|
|
|
testName: 'Vue.js unit tests',
|
|
|
|
recordScreenshots: false,
|
|
|
|
connectOptions: {
|
|
|
|
'no-ssl-bump-domains': 'all' // Ignore SSL error on Android emulator
|
|
|
|
},
|
|
|
|
build: process.env.CIRCLE_BUILD_NUM || process.env.SAUCE_BUILD_ID || Date.now()
|
|
|
|
},
|
|
|
|
// mobile emulators are really slow
|
|
|
|
captureTimeout: 300000,
|
|
|
|
browserNoActivityTimeout: 300000,
|
|
|
|
plugins: base.plugins.concat([
|
|
|
|
'karma-sauce-launcher'
|
|
|
|
])
|
|
|
|
}))
|
|
|
|
}
|