@@ -16,7 +16,6 @@ const {
1616 PromisePrototypeThen,
1717 SafePromiseAll,
1818 SafePromiseAllReturnVoid,
19- SafePromiseAllSettledReturnVoid,
2019 PromiseResolve,
2120 SafeMap,
2221 SafeSet,
@@ -378,7 +377,7 @@ function runTestFile(path, root, inspectPort, filesWatcher, testNamePatterns) {
378377 throw err ;
379378 }
380379 } ) ;
381- return subtest . start ( ) ;
380+ return subtest . enqueue ( ) ;
382381}
383382
384383function watchFiles ( testFiles , root , inspectPort , signal , testNamePatterns ) {
@@ -404,6 +403,7 @@ function watchFiles(testFiles, root, inspectPort, signal, testNamePatterns) {
404403 }
405404 await runningSubtests . get ( file ) ;
406405 runningSubtests . set ( file , runTestFile ( file , root , inspectPort , filesWatcher , testNamePatterns ) ) ;
406+ root . processPendingSubtests ( ) ;
407407 } , undefined , ( error ) => {
408408 triggerUncaughtException ( error , true /* fromPromise */ ) ;
409409 } ) ) ;
@@ -476,22 +476,24 @@ function run(options) {
476476 testFiles = ArrayPrototypeFilter ( testFiles , ( _ , index ) => index % shard . total === shard . index - 1 ) ;
477477 }
478478
479- let postRun = ( ) => root . postRun ( ) ;
480479 let filesWatcher ;
481480 if ( watch ) {
482481 filesWatcher = watchFiles ( testFiles , root , inspectPort , signal , testNamePatterns ) ;
483- postRun = undefined ;
484482 }
485483 const runFiles = ( ) => {
486484 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- } ) ;
485+ for ( let i = 0 ; i < testFiles . length ; i ++ ) {
486+ const path = testFiles [ i ] ;
487+ const enqueued = runTestFile ( path , root , inspectPort , filesWatcher , testNamePatterns ) ;
488+ filesWatcher ?. runningSubtests . set ( path , enqueued ) ;
489+ }
490+ if ( filesWatcher ) {
491+ return root . processPendingSubtests ( ) ;
492+ }
493+ return PromisePrototypeThen ( root . run ( ) , ( ) => root . postRun ( ) ) ;
492494 } ;
493495
494- PromisePrototypeThen ( PromisePrototypeThen ( PromiseResolve ( setup ?. ( root ) ) , runFiles ) , postRun ) ;
496+ PromisePrototypeThen ( PromiseResolve ( setup ?. ( root ) ) , runFiles ) ;
495497
496498 return root . reporter ;
497499}
0 commit comments