@@ -54,6 +54,9 @@ const unitBehaviorIsolatedFiles = existingUnitConfigFiles(behaviorManifest.unit.
5454const unitSingletonIsolatedFiles = existingUnitConfigFiles ( behaviorManifest . unit . singletonIsolated ) ;
5555const unitThreadSingletonFiles = existingUnitConfigFiles ( behaviorManifest . unit . threadSingleton ) ;
5656const unitVmForkSingletonFiles = existingUnitConfigFiles ( behaviorManifest . unit . vmForkSingleton ) ;
57+ const extensionSingletonIsolatedFiles = existingFiles (
58+ behaviorManifest . extensions . singletonIsolated ,
59+ ) ;
5760const unitBehaviorOverrideSet = new Set ( [
5861 ...unitBehaviorIsolatedFiles ,
5962 ...unitSingletonIsolatedFiles ,
@@ -440,6 +443,10 @@ const unitFastExcludedFileSet = new Set(unitFastExcludedFiles);
440443const unitFastCandidateFiles = allKnownUnitFiles . filter (
441444 ( file ) => ! unitFastExcludedFileSet . has ( file ) ,
442445) ;
446+ const extensionSingletonExcludedFileSet = new Set ( extensionSingletonIsolatedFiles ) ;
447+ const extensionSharedCandidateFiles = allKnownTestFiles . filter (
448+ ( file ) => file . startsWith ( "extensions/" ) && ! extensionSingletonExcludedFileSet . has ( file ) ,
449+ ) ;
443450const defaultUnitFastLaneCount = isCI && ! isWindows ? 3 : 1 ;
444451const unitFastLaneCount = Math . max (
445452 1 ,
@@ -516,6 +523,10 @@ const unitThreadEntries =
516523 } ,
517524 ]
518525 : [ ] ;
526+ const extensionSingletonEntries = extensionSingletonIsolatedFiles . map ( ( file ) => ( {
527+ name : `${ path . basename ( file , ".test.ts" ) } -extensions-isolated` ,
528+ args : [ "vitest" , "run" , "--config" , "vitest.extensions.config.ts" , "--pool=forks" , file ] ,
529+ } ) ) ;
519530const baseRuns = [
520531 ...( shouldSplitUnitRuns
521532 ? [
@@ -583,6 +594,15 @@ const baseRuns = [
583594 ? [
584595 {
585596 name : "extensions" ,
597+ env :
598+ extensionSharedCandidateFiles . length > 0
599+ ? {
600+ OPENCLAW_VITEST_INCLUDE_FILE : writeTempJsonArtifact (
601+ "vitest-extensions-include" ,
602+ extensionSharedCandidateFiles ,
603+ ) ,
604+ }
605+ : undefined ,
586606 args : [
587607 "vitest" ,
588608 "run" ,
@@ -591,6 +611,7 @@ const baseRuns = [
591611 ...( useVmForks ? [ "--pool=vmForks" ] : [ ] ) ,
592612 ] ,
593613 } ,
614+ ...extensionSingletonEntries ,
594615 ]
595616 : [ ] ) ,
596617 ...( includeGatewaySuite
0 commit comments