@@ -16,7 +16,6 @@ const {
1616 PromisePrototypeThen,
1717 SafePromiseAll,
1818 SafePromiseAllReturnVoid,
19- SafePromiseAllSettledReturnVoid,
2019 PromiseResolve,
2120 SafeMap,
2221 SafeSet,
@@ -378,7 +377,9 @@ function runTestFile(path, root, inspectPort, filesWatcher, testNamePatterns) {
378377 throw err ;
379378 }
380379 } ) ;
381- return subtest . start ( ) ;
380+ if ( filesWatcher ) {
381+ return subtest . start ( ) ;
382+ }
382383}
383384
384385function watchFiles ( testFiles , root , inspectPort , signal , testNamePatterns ) {
@@ -476,22 +477,27 @@ function run(options) {
476477 testFiles = ArrayPrototypeFilter ( testFiles , ( _ , index ) => index % shard . total === shard . index - 1 ) ;
477478 }
478479
479- let postRun = ( ) => root . postRun ( ) ;
480480 let filesWatcher ;
481481 if ( watch ) {
482482 filesWatcher = watchFiles ( testFiles , root , inspectPort , signal , testNamePatterns ) ;
483- postRun = undefined ;
484483 }
484+
485485 const runFiles = ( ) => {
486486 root . harness . bootstrapComplete = true ;
487- return SafePromiseAllSettledReturnVoid ( testFiles , ( path ) => {
488- const subtest = runTestFile ( path , root , inspectPort , filesWatcher , testNamePatterns ) ;
489- filesWatcher ?. runningSubtests . set ( path , subtest ) ;
490- return subtest ;
491- } ) ;
487+ root . buildPhaseFinished = false ;
488+ for ( let i = 0 ; i < testFiles . length ; i ++ ) {
489+ const path = testFiles [ i ] ;
490+ const enqueued = runTestFile ( path , root , inspectPort , filesWatcher , testNamePatterns ) ;
491+ filesWatcher ?. runningSubtests . set ( path , enqueued ) ;
492+ }
493+ root . buildPhaseFinished = true ;
494+ if ( filesWatcher ) {
495+ return root . processPendingSubtests ( ) ;
496+ }
497+ return PromisePrototypeThen ( root . run ( ) , ( ) => root . postRun ( ) ) ;
492498 } ;
493499
494- PromisePrototypeThen ( PromisePrototypeThen ( PromiseResolve ( setup ?. ( root ) ) , runFiles ) , postRun ) ;
500+ PromisePrototypeThen ( PromiseResolve ( setup ?. ( root ) ) , runFiles ) ;
495501
496502 return root . reporter ;
497503}
0 commit comments