@@ -8,41 +8,47 @@ var util = require('./util');
88
99module . exports = function ( gulp , plugins , config ) {
1010 return function ( ) {
11- return util . forEachSubDirSequential (
12- config . dest ,
13- function ( dir ) {
14- var testDir = path . join ( dir , 'test' ) ;
15- var relativeMasterTestFile = 'test/_all_tests.dart' ;
16- var testFiles = [ ] . slice . call ( glob . sync ( '**/*.server.spec.dart' , {
17- cwd : testDir
18- } ) ) ;
19- if ( testFiles . length == 0 ) {
20- // No test files found
21- return Q . resolve ( ) ;
22- }
23- var header = [ 'library _all_tests;' , '' ] ;
24- var main = [ 'main() {' ] ;
25- testFiles . forEach ( function ( fileName , index ) {
26- header . push ( 'import "' + fileName + '" as test_' + index + ';' ) ;
27- main . push ( ' test_' + index + '.main();' ) ;
28- } ) ;
29- header . push ( '' ) ;
30- main . push ( '}' ) ;
11+ if ( config . dir ) {
12+ return run ( config . dir ) ;
13+ } else {
14+ return util . forEachSubDirSequential ( config . dest , run ) ;
15+ }
16+ } ;
17+
18+ function run ( dir ) {
19+ var testDir = path . join ( dir , 'test' ) ;
20+ var relativeMasterTestFile = 'test/_all_tests.dart' ;
21+ var testFiles = [ ] . slice . call ( glob . sync ( '**/*.server.spec.dart' , {
22+ cwd : testDir
23+ } ) ) ;
24+ if ( testFiles . length == 0 ) {
25+ // No test files found
26+ return Q . resolve ( ) ;
27+ }
28+ var header = [ 'library _all_tests;' , '' ] ;
29+ var main = [ 'main() {' ] ;
30+ testFiles . forEach ( function ( fileName , index ) {
31+ header . push ( 'import "' + fileName + '" as test_' + index + ';' ) ;
32+ main . push ( ' test_' + index + '.main();' ) ;
33+ } ) ;
34+ header . push ( '' ) ;
35+ main . push ( '}' ) ;
3136
32- var absMasterTestFile = path . join ( dir , relativeMasterTestFile ) ;
33- fs . writeFileSync ( absMasterTestFile , header . concat ( main ) . join ( '\n' ) ) ;
37+ var absMasterTestFile = path . join ( dir , relativeMasterTestFile ) ;
38+ fs . writeFileSync ( absMasterTestFile , header . concat ( main ) . join ( '\n' ) ) ;
3439
35- var defer = Q . defer ( ) ;
36- var done = defer . makeNodeResolver ( ) ;
37- util . processToPromise ( spawn ( 'dart' , [ '-c' , relativeMasterTestFile ] , {
38- stdio : 'inherit' ,
39- cwd : dir
40- } ) ) . then (
41- function ( ) { done ( ) ; } ,
42- function ( error ) { done ( error ) ; }
43- ) ;
44- return defer . promise ;
45- }
40+ var defer = Q . defer ( ) ;
41+ var done = defer . makeNodeResolver ( ) ;
42+ console . log ( 'start tests' ) ;
43+ util . processToPromise ( spawn ( 'dart' , [ '-c' , relativeMasterTestFile ] , {
44+ stdio : 'inherit' ,
45+ cwd : dir
46+ } ) ) . then (
47+ function ( ) { done ( ) ; } ,
48+ function ( error ) { done ( error ) ; }
4649 ) ;
47- } ;
50+ return defer . promise . then ( function ( ) {
51+ console . log ( 'end tests' ) ;
52+ } ) ;
53+ }
4854} ;
0 commit comments