@@ -20,6 +20,7 @@ var ngrok = require('ngrok');
20
20
var staticTransform = require ( 'connect-static-transform' ) ;
21
21
var pkg = require ( './package.json' ) ;
22
22
var extend = require ( 'util' ) . _extend ;
23
+ var fs = require ( 'fs' ) ;
23
24
var server ;
24
25
25
26
gulp . task ( 'release' , function ( callback ) {
@@ -112,42 +113,51 @@ gulp.task('serve:stop', function() {
112
113
} ) ;
113
114
114
115
gulp . task ( 'selenium' , function ( done ) {
115
- gutil . log ( 'Setting up Selenium server...' ) ;
116
- selenium . install ( {
117
- logger : function ( message ) { gutil . log ( message ) ; }
118
- } , function ( err ) {
119
- if ( err ) {
120
- done ( err ) ;
121
- return ;
122
- }
116
+ var start = function ( err ) {
123
117
gutil . log ( 'Starting Selenium server...' ) ;
124
118
selenium . start ( function ( err , child ) {
125
119
gutil . log ( 'Selenium server started' ) ;
126
120
selenium . child = child ;
127
121
done ( err ) ;
128
122
} ) ;
129
- } ) ;
130
- } ) ;
131
-
132
- gulp . task ( 'test' , [ 'lint' , 'serve:test' , 'selenium' ] , function ( done ) {
133
- var error ;
134
- gutil . log ( 'Starting webdriver...' ) ;
135
-
136
- var finish = function ( err ) {
137
- gutil . log ( 'Webdriver stopped' ) ;
138
- selenium . child . kill ( ) ;
139
- gutil . log ( 'Selenium server stopped' ) ;
140
- gulp . start ( 'serve:stop' ) ;
141
- done ( error || err ) ;
142
123
} ;
143
124
125
+ try {
126
+ fs . statSync ( 'node_modules/selenium-standalone/.selenium' ) ;
127
+ start ( ) ;
128
+ } catch ( e ) {
129
+ gutil . log ( 'Setting up Selenium server...' ) ;
130
+ selenium . install ( {
131
+ logger : function ( message ) { gutil . log ( message ) ; }
132
+ } , function ( err ) {
133
+ start ( err ) ;
134
+ } ) ;
135
+ }
136
+ } ) ;
144
137
145
- gulp . src ( 'test/conf/local.conf.js' )
146
- . pipe ( webdriver ( {
147
- baseUrl : 'http://localhost:8000'
148
- } ) )
149
- . on ( 'error' , function ( err ) { error = err ; } )
150
- . on ( 'finish' , finish ) ;
138
+ gulp . task ( 'test' , function ( done ) {
139
+ sequence ( 'lint' , 'serve:test' , 'selenium' , function ( ) {
140
+ var error ;
141
+ gutil . log ( 'Starting webdriver...' ) ;
142
+
143
+ var finish = function ( err ) {
144
+ gutil . log ( 'Webdriver stopped' ) ;
145
+ selenium . child . kill ( ) ;
146
+ gutil . log ( 'Selenium server stopped' ) ;
147
+ gulp . start ( 'serve:stop' ) ;
148
+ done ( error || err ) ;
149
+ } ;
150
+
151
+ gulp . src ( 'test/conf/local.conf.js' )
152
+ . pipe ( webdriver ( {
153
+ baseUrl : 'http://localhost:8000'
154
+ } ) )
155
+ . on ( 'error' , function ( err ) {
156
+ console . error ( err ) ;
157
+ error = err ;
158
+ } )
159
+ . on ( 'finish' , finish ) ;
160
+ } ) ;
151
161
} ) ;
152
162
153
163
gulp . task ( 'test:cloud' , [ 'lint' , 'serve:test' ] , function ( done ) {
0 commit comments