@@ -74,26 +74,20 @@ gulp.task('changelog', function () {
74
74
} ) ;
75
75
76
76
gulp . task ( 'serve' , function ( ) {
77
- process . on ( 'uncaughtException' , function ( err ) {
78
- if ( err . errno === 'EADDRINUSE' ) {
79
- gutil . log ( 'Server already running (or port is otherwise in use)' ) ;
80
- }
81
- } ) ;
77
+ serve ( false ) ;
78
+ } ) ;
82
79
83
- server = gulp . src ( '.' )
84
- . pipe ( webserver ( {
85
- host : '0.0.0.0' ,
86
- //livereload: true,
87
- directoryListing : true ,
88
- middleware : function ( req , res , next ) {
89
- var ieMode = ( req . _parsedUrl . query || '' ) . replace ( '=' , '' ) ;
90
- if ( ieMode in emulateIEMiddleware ) {
91
- emulateIEMiddleware [ ieMode ] ( req , res , next ) ;
92
- } else {
93
- next ( ) ;
94
- }
95
- }
96
- } ) ) ;
80
+ gulp . task ( 'serve:test' , function ( ) {
81
+ serve ( true ) ;
82
+ } ) ;
83
+
84
+ gulp . task ( 'serve:stop' , function ( ) {
85
+ if ( server ) {
86
+ try {
87
+ server . emit ( 'kill' ) ;
88
+ } catch ( e ) { } // eslint-disable-line no-empty
89
+ gutil . log ( 'Web server stopped' ) ;
90
+ }
97
91
} ) ;
98
92
99
93
gulp . task ( 'selenium' , function ( done ) {
@@ -114,20 +108,15 @@ gulp.task('selenium', function(done) {
114
108
} ) ;
115
109
} ) ;
116
110
117
- gulp . task ( 'test' , [ 'lint' , 'serve' , 'selenium' ] , function ( done ) {
111
+ gulp . task ( 'test' , [ 'lint' , 'serve:test ' , 'selenium' ] , function ( done ) {
118
112
var error ;
119
113
gutil . log ( 'Starting webdriver...' ) ;
120
114
121
115
var finish = function ( err ) {
122
116
gutil . log ( 'Webdriver stopped' ) ;
123
117
selenium . child . kill ( ) ;
124
118
gutil . log ( 'Selenium server stopped' ) ;
125
- if ( server ) {
126
- try {
127
- server . emit ( 'kill' ) ;
128
- } catch ( e ) { }
129
- gutil . log ( 'Web server stopped' ) ;
130
- }
119
+ gulp . start ( 'serve:stop' ) ;
131
120
done ( error || err ) ;
132
121
} ;
133
122
@@ -140,7 +129,7 @@ gulp.task('test', ['lint', 'serve', 'selenium'], function(done) {
140
129
. on ( 'finish' , finish ) ;
141
130
} ) ;
142
131
143
- gulp . task ( 'test:cloud' , [ 'lint' , 'serve' ] , function ( done ) {
132
+ gulp . task ( 'test:cloud' , [ 'lint' , 'serve:test ' ] , function ( done ) {
144
133
ngrok . connect ( {
145
134
authtoken : null ,
146
135
port : 8000
@@ -152,20 +141,17 @@ gulp.task('test:cloud', ['lint', 'serve'], function(done) {
152
141
} ) )
153
142
. on ( 'finish' , function ( err ) {
154
143
if ( server ) {
155
- try {
156
- server . emit ( 'kill' ) ;
157
- } catch ( e ) { }
158
144
ngrok . disconnect ( ) ;
159
145
ngrok . kill ( ) ;
160
146
gutil . log ( 'Tunnel stopped' ) ;
161
- gutil . log ( 'Web server stopped ') ;
147
+ gulp . start ( 'serve:stop ') ;
162
148
}
163
149
done ( err ) ;
164
150
} ) ;
165
151
} ) ;
166
152
} ) ;
167
153
168
- gulp . task ( 'test:cloud:all' , [ 'lint' , 'serve' ] , function ( done ) {
154
+ gulp . task ( 'test:cloud:all' , [ 'lint' , 'serve:test ' ] , function ( done ) {
169
155
ngrok . connect ( {
170
156
authtoken : null ,
171
157
port : 8000
@@ -177,19 +163,40 @@ gulp.task('test:cloud:all', ['lint', 'serve'], function(done) {
177
163
} ) )
178
164
. on ( 'finish' , function ( err ) {
179
165
if ( server ) {
180
- try {
181
- server . emit ( 'kill' ) ;
182
- } catch ( e ) { }
183
166
ngrok . disconnect ( ) ;
184
167
ngrok . kill ( ) ;
185
168
gutil . log ( 'Tunnel stopped' ) ;
186
- gutil . log ( 'Web server stopped ') ;
169
+ gulp . start ( 'serve:stop ') ;
187
170
}
188
171
done ( err ) ;
189
172
} ) ;
190
173
} ) ;
191
174
} ) ;
192
175
176
+ var serve = function ( isTest ) {
177
+ process . on ( 'uncaughtException' , function ( err ) {
178
+ if ( err . errno === 'EADDRINUSE' ) {
179
+ gutil . log ( 'Server already running (or port is otherwise in use)' ) ;
180
+ }
181
+ } ) ;
182
+
183
+ server = gulp . src ( '.' )
184
+ . pipe ( webserver ( {
185
+ host : '0.0.0.0' ,
186
+ livereload : ! isTest ,
187
+ middleware : function ( req , res , next ) {
188
+ var ieMode = ( req . _parsedUrl . query || '' ) . replace ( '=' , '' ) ;
189
+ if ( ieMode in emulateIEMiddleware ) {
190
+ emulateIEMiddleware [ ieMode ] ( req , res , next ) ;
191
+ } else {
192
+ next ( ) ;
193
+ }
194
+ } ,
195
+ open : isTest ? false : 'http://localhost:8000/test/page/test.html' ,
196
+ directoryListing : true
197
+ } ) ) ;
198
+ } ;
199
+
193
200
var banner = [
194
201
'/*' ,
195
202
'* <%= build.name %> <%= build.version %> by @liabru' ,
@@ -213,4 +220,4 @@ var emulateIEMiddleware = {
213
220
'ie8' : emulateIEMiddlewareFactory ( 8 ) ,
214
221
'ie9' : emulateIEMiddlewareFactory ( 9 ) ,
215
222
'ie10' : emulateIEMiddlewareFactory ( 10 )
216
- } ;
223
+ } ;
0 commit comments