@@ -243,7 +243,11 @@ async function createTestPage(
243243 } catch {
244244 data = { message : payload , label : "default" , value : payload } ;
245245 }
246- if ( expectedRunwayToken && data . __runwayToken !== expectedRunwayToken ) {
246+ if (
247+ expectedRunwayToken &&
248+ "__runwayToken" in data &&
249+ data . __runwayToken !== expectedRunwayToken
250+ ) {
247251 return ;
248252 }
249253
@@ -590,6 +594,7 @@ async function main() {
590594 1 ,
591595 Number ( process . env . RUNWAY_PARALLEL ?? parallelArg ?? 1 )
592596 ) ;
597+ const fastMode = process . env . RUNWAY_FAST === "1" ;
593598
594599 if ( testFilter ) {
595600 console . log ( `� Filter: "${ testFilter } "` ) ;
@@ -600,6 +605,9 @@ async function main() {
600605 if ( parallelism > 1 ) {
601606 console . log ( `🧵 Parallel workers: ${ parallelism } \n` ) ;
602607 }
608+ if ( fastMode ) {
609+ console . log ( `⚡ Fast mode: reusing one harness instance per worker\n` ) ;
610+ }
603611
604612 if ( tests . length === 0 ) {
605613 console . log (
@@ -696,7 +704,7 @@ async function main() {
696704 } )
697705 : null ,
698706 } ) ;
699- let scramjetBindingsInstalled = true ;
707+ let scramjetBindingsInstalled = fastMode ? true : true ;
700708 let testPages = await createPages ( scramjetBindingsInstalled ) ;
701709 let needsReload = true ;
702710
@@ -706,12 +714,12 @@ async function main() {
706714
707715 const consistencyTracker = createConsistencyTracker ( ! test . scramjetOnly ) ;
708716 consistencyHandler = consistencyTracker . handle ;
709- if ( test . reloadHarness ) {
717+ if ( ! fastMode && test . reloadHarness ) {
710718 needsReload = true ;
711719 }
712720
713721 // Reload pages if needed (first run or after failure)
714- const desiredScramjetBindings = ! test . topLevelScramjet ;
722+ const desiredScramjetBindings = fastMode ? true : ! test . topLevelScramjet ;
715723 if (
716724 needsReload ||
717725 desiredScramjetBindings !== scramjetBindingsInstalled
@@ -856,7 +864,7 @@ async function main() {
856864 ghaError (
857865 `Test "${ test . name } " failed: ${ finalResult . message || "Unknown error" } `
858866 ) ;
859- needsReload = true ; // Reload after failure
867+ needsReload = ! fastMode ; // Reload after failure unless fast mode is reusing harnesses
860868 } else {
861869 console . log ( `💥 error (${ duration } ms)` ) ;
862870 if ( finalResult . message ) {
@@ -865,7 +873,7 @@ async function main() {
865873 ghaError (
866874 `Test "${ test . name } " error: ${ finalResult . message || "Unknown error" } `
867875 ) ;
868- needsReload = true ; // Reload after error
876+ needsReload = ! fastMode ; // Reload after error unless fast mode is reusing harnesses
869877 }
870878 ghaEndGroup ( ) ;
871879 }
0 commit comments