1
1
var webpack = require ( 'webpack' ) ;
2
2
3
3
module . exports = function ( config ) {
4
- config . set ( {
5
-
6
- browserNoActivityTimeout : 30000 ,
7
-
8
- browsers : [ process . env . CONTINUOUS_INTEGRATION ? 'Firefox' : 'Chrome' ] ,
4
+ // Browsers to run on BrowserStack
5
+ var customLaunchers = {
6
+ BS_Chrome : {
7
+ base : 'BrowserStack' ,
8
+ os : 'OS X' ,
9
+ os_version : 'Yosemite' ,
10
+ browser : 'chrome' ,
11
+ browser_version : '39.0' ,
12
+ } ,
13
+ BS_Firefox : {
14
+ base : 'BrowserStack' ,
15
+ os : 'OS X' ,
16
+ os_version : 'Yosemite' ,
17
+ browser : 'firefox' ,
18
+ browser_version : '32.0' ,
19
+ } ,
20
+ BS_Safari : {
21
+ base : 'BrowserStack' ,
22
+ os : 'OS X' ,
23
+ os_version : 'Yosemite' ,
24
+ browser : 'safari' ,
25
+ browser_version : '8.0' ,
26
+ } ,
27
+ // BS_InternetExplorer9: {
28
+ // base: 'BrowserStack',
29
+ // os: 'Windows',
30
+ // os_version: '7',
31
+ // browser: 'ie',
32
+ // browser_version: '9.0',
33
+ // },
34
+ BS_InternetExplorer10 : {
35
+ base : 'BrowserStack' ,
36
+ os : 'Windows' ,
37
+ os_version : '8' ,
38
+ browser : 'ie' ,
39
+ browser_version : '10.0' ,
40
+ } ,
41
+ BS_InternetExplorer11 : {
42
+ base : 'BrowserStack' ,
43
+ os : 'Windows' ,
44
+ os_version : '8.1' ,
45
+ browser : 'ie' ,
46
+ browser_version : '11.0' ,
47
+ } ,
48
+ BS_MobileSafari : {
49
+ base : 'BrowserStack' ,
50
+ os : 'ios' ,
51
+ os_version : '7.0' ,
52
+ browser : 'iphone'
53
+ } ,
54
+ } ;
9
55
10
- singleRun : process . env . CONTINUOUS_INTEGRATION === 'true' ,
56
+ config . set ( {
57
+ customLaunchers : customLaunchers ,
11
58
59
+ browsers : [ 'Chrome' ] ,
12
60
frameworks : [ 'mocha' ] ,
61
+ reporters : [ 'mocha' ] ,
13
62
14
63
files : [
15
64
'tests.webpack.js'
@@ -19,8 +68,6 @@ module.exports = function (config) {
19
68
'tests.webpack.js' : [ 'webpack' , 'sourcemap' ]
20
69
} ,
21
70
22
- reporters : [ 'dots' ] ,
23
-
24
71
webpack : {
25
72
devtool : 'inline-source-map' ,
26
73
module : {
@@ -38,6 +85,37 @@ module.exports = function (config) {
38
85
webpackServer : {
39
86
noInfo : true
40
87
}
41
-
42
88
} ) ;
89
+
90
+ if ( process . env . USE_CLOUD ) {
91
+ config . browsers = Object . keys ( customLaunchers ) ;
92
+ config . reporters = [ 'dots' ] ;
93
+ config . browserDisconnectTimeout = 10000 ;
94
+ config . browserDisconnectTolerance = 3 ;
95
+ config . browserNoActivityTimeout = 30000 ;
96
+ config . captureTimeout = 120000 ;
97
+
98
+ if ( process . env . TRAVIS ) {
99
+ var buildLabel = 'TRAVIS #' + process . env . TRAVIS_BUILD_NUMBER + ' (' + process . env . TRAVIS_BUILD_ID + ')' ;
100
+
101
+ config . browserStack = {
102
+ username : process . env . BROWSER_STACK_USERNAME ,
103
+ accessKey : process . env . BROWSER_STACK_ACCESS_KEY ,
104
+ pollingTimeout : 10000 ,
105
+ startTunnel : false ,
106
+ project : 'react-router' ,
107
+ build : buildLabel ,
108
+ name : process . env . TRAVIS_JOB_NUMBER ,
109
+ } ;
110
+
111
+ config . singleRun = true ;
112
+ } else {
113
+ config . browserStack = {
114
+ username : process . env . BROWSER_STACK_USERNAME ,
115
+ accessKey : process . env . BROWSER_STACK_ACCESS_KEY ,
116
+ pollingTimeout : 10000 ,
117
+ startTunnel : true ,
118
+ } ;
119
+ }
120
+ }
43
121
} ;
0 commit comments