@@ -9,8 +9,6 @@ var conf = require('ember-cli/tests/helpers/conf');
9
9
var sh = require ( 'shelljs' ) ;
10
10
var treeKill = require ( 'tree-kill' ) ;
11
11
var child_process = require ( 'child_process' ) ;
12
- var Promise = require ( 'ember-cli/lib/ext/promise' ) ;
13
- var execPromise = Promise . denodeify ( child_process . exec ) ;
14
12
var ng = require ( '../helpers/ng' ) ;
15
13
var root = path . join ( process . cwd ( ) , 'tmp' ) ;
16
14
@@ -120,25 +118,51 @@ describe('Basic end-to-end Workflow', function () {
120
118
var serveFailedMsg = 'ng serve command failed' ;
121
119
var e2eFailedMsg = 'ng serve command failed' ;
122
120
var child = child_process . exec ( 'ng serve' ) ;
121
+ var startedProtractor = false ;
123
122
ngServePid = child . pid ;
124
123
125
124
child . stdout . on ( 'data' , ( data ) => {
126
- if ( / ^ B u i l d s u c c e s s f u l / . test ( data ) ) {
127
- resolve ( execPromise ( 'ng e2e' ) . catch ( ( ) => Promise . reject ( e2eFailedMsg ) ) ) ;
125
+ // console.log(`stdout: ##${data}##`);
126
+ if ( / ^ B u i l d s u c c e s s f u l / . test ( data ) && ! startedProtractor ) {
127
+ startedProtractor = true ;
128
+ child_process . exec ( 'ng e2e' , ( error , stdout , stderr ) => {
129
+ console . log ( `e2e stdout: ###${ stdout } ###` ) ;
130
+ console . log ( `e2e stderr: ###${ stderr } ###` ) ;
131
+ if ( error !== null ) {
132
+ console . log ( `e2e exec error: ###${ error } ###` ) ;
133
+ reject ( e2eFailedMsg )
134
+ } else {
135
+ resolve ( ) ;
136
+ }
137
+ } ) ;
138
+ // resolve(execPromise('ng e2e').then((succ) => {
139
+ // console.log(`e2e success: ##${succ}##`);
140
+ // }).catch((err) => {
141
+ // console.log(`e2e err: ##${err}##`);
142
+ // Promise.reject(e2eFailedMsg)
143
+ // }));
128
144
} else if ( / f a i l e d w i t h : / . test ( data ) ) {
129
145
reject ( serveFailedMsg ) ;
130
146
}
131
147
} ) ;
132
148
133
- child . stderr . on ( 'data' , ( ) => reject ( serveFailedMsg ) ) ;
134
- child . on ( 'close' , ( code ) => code === 0 ? resolve ( ) : reject ( serveFailedMsg ) ) ;
149
+ child . stderr . on ( 'data' , ( ) => {
150
+ // console.log(`stderr: ##${data}##`);
151
+ reject ( serveFailedMsg ) ;
152
+ } ) ;
153
+ child . on ( 'close' , ( code ) => {
154
+ // console.log(`close: ##${code}##`);
155
+ code === 0 ? resolve ( ) : reject ( serveFailedMsg )
156
+ } ) ;
135
157
}
136
158
137
159
return new Promise ( executor )
138
160
. then ( ( ) => {
161
+ console . log ( `###resolve###` ) ;
139
162
if ( ngServePid ) treeKill ( ngServePid ) ;
140
163
} )
141
164
. catch ( ( msg ) => {
165
+ console . log ( `###reject###` ) ;
142
166
if ( ngServePid ) treeKill ( ngServePid ) ;
143
167
throw new Error ( msg ) ;
144
168
} ) ;
@@ -363,36 +387,37 @@ describe('Basic end-to-end Workflow', function () {
363
387
} ) ;
364
388
} ) ;
365
389
366
- it ( 'Serve and run e2e tests after final build' , function ( ) {
367
- this . timeout ( 420000 ) ;
368
-
369
- var ngServePid ;
370
-
371
- function executor ( resolve , reject ) {
372
- var serveFailedMsg = 'ng serve command failed' ;
373
- var e2eFailedMsg = 'ng serve command failed' ;
374
- var child = child_process . exec ( 'ng serve' ) ;
375
- ngServePid = child . pid ;
376
-
377
- child . stdout . on ( 'data' , ( data ) => {
378
- if ( / ^ B u i l d s u c c e s s f u l / . test ( data ) ) {
379
- resolve ( execPromise ( 'ng e2e' ) . catch ( ( ) => Promise . reject ( e2eFailedMsg ) ) ) ;
380
- } else if ( / f a i l e d w i t h : / . test ( data ) ) {
381
- reject ( serveFailedMsg ) ;
382
- }
383
- } ) ;
384
-
385
- child . stderr . on ( 'data' , ( ) => reject ( serveFailedMsg ) ) ;
386
- child . on ( 'close' , ( code ) => code === 0 ? resolve ( ) : reject ( serveFailedMsg ) ) ;
387
- }
388
-
389
- return new Promise ( executor )
390
- . then ( ( ) => {
391
- if ( ngServePid ) treeKill ( ngServePid ) ;
392
- } )
393
- . catch ( ( msg ) => {
394
- if ( ngServePid ) treeKill ( ngServePid ) ;
395
- throw new Error ( msg ) ;
396
- } ) ;
397
- } ) ;
390
+ // it('Serve and run e2e tests after final build', function () {
391
+ // this.timeout(420000);
392
+ //
393
+ // var ngServePid;
394
+ //
395
+ // function executor(resolve, reject) {
396
+ // var serveFailedMsg = 'ng serve command failed';
397
+ // var e2eFailedMsg = 'ng serve command failed';
398
+ // var child = child_process.exec('ng serve');
399
+ // ngServePid = child.pid;
400
+ //
401
+ // child.stdout.on('data', (data) => {
402
+ // if (/^Build successful/.test(data)) {
403
+ // // resolve(execPromise('ng e2e').catch(() => Promise.reject(e2eFailedMsg)));
404
+ // resolve();
405
+ // } else if (/ failed with:/.test(data)) {
406
+ // reject(serveFailedMsg);
407
+ // }
408
+ // });
409
+ //
410
+ // child.stderr.on('data', () => reject(serveFailedMsg));
411
+ // child.on('close', (code) => code === 0 ? resolve() : reject(serveFailedMsg));
412
+ // }
413
+ //
414
+ // return new Promise(executor)
415
+ // .then(() => {
416
+ // if (ngServePid) treeKill(ngServePid);
417
+ // })
418
+ // .catch((msg) => {
419
+ // if (ngServePid) treeKill(ngServePid);
420
+ // throw new Error(msg);
421
+ // });
422
+ // });
398
423
} ) ;
0 commit comments