You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

57 regels
1.5 KiB

  1. const webpackConfig = require('./webpack.config')
  2. const browsers = require('./browsers')
  3. const useCloud = process.env.USE_CLOUD === 'true'
  4. const browserStackUserName = process.env.BROWSER_STACK_USERNAME
  5. const browserStackAccessKey = process.env.BROWSER_STACK_ACCESS_KEY
  6. const isTravis = process.env.TRAVIS
  7. const travisBuildNumber = process.env.TRAVIS_BUILD_NUMBER
  8. const travisBuildId = process.env.TRAVIS_BUILD_ID
  9. const travisJobNumber = process.env.TRAVIS_JOB_NUMBER
  10. module.exports = (config) => {
  11. config.set({
  12. customLaunchers: browsers,
  13. browsers: ['Chrome'],
  14. frameworks: ['mocha'],
  15. files: [
  16. 'node_modules/es5-shim/es5-shim.js',
  17. 'node_modules/es5-shim/es5-sham.js',
  18. 'tests.webpack.js',
  19. ],
  20. preprocessors: {
  21. 'tests.webpack.js': ['webpack', 'sourcemap'],
  22. },
  23. webpack: Object.assign(webpackConfig, {
  24. devtool: 'inline-source-map'
  25. }),
  26. webpackServer: {
  27. noInfo: true
  28. },
  29. reporters: ['mocha']
  30. })
  31. if (useCloud) {
  32. Object.assign(config, {
  33. browsers: Object.keys(browsers),
  34. browserDisconnectTolerance: 3,
  35. // My current OS plan allows max 2 parallel connections.
  36. concurrency: 2,
  37. retryLimit: 3
  38. })
  39. config.browserStack = {
  40. username: browserStackUserName,
  41. accessKey: browserStackAccessKey,
  42. captureTimeout: 10000
  43. }
  44. if (isTravis) {
  45. Object.assign(config.browserStack, {
  46. build: `TRAVIS #${travisBuildNumber} (${travisBuildId})`,
  47. name: travisJobNumber
  48. })
  49. }
  50. }
  51. }