@@ -365,7 +365,7 @@ async function runAll() {
365365 let scheduledCount = 0 ;
366366 const running = new Set ( ) ;
367367
368- async function runSingleComposedTest ( f , tmpPath , cleanupTmp , testCwd , isModule , expectedNegative ) {
368+ async function runSingleComposedTest ( f , tmpPath , cleanupTmp , testCwd , isModule , expectedNegative , needsAgent ) {
369369 let currentSucceeds = false ;
370370 try {
371371 log ( `RUN ${ f } ` ) ;
@@ -516,7 +516,6 @@ async function runAll() {
516516 }
517517 }
518518 }
519- if ( flagsBlock && flagsBlock . includes ( 'CanBlockIsFalse' ) ) { skip ++ ; log ( `SKIP (CanBlockIsFalse) ${ f } ` ) ; continue ; }
520519
521520 // Feature detection
522521 const feats = ( meta . match ( / f e a t u r e s : \s * \[ ( .* ?) \] / s) || [ ] ) [ 1 ] ;
@@ -537,13 +536,10 @@ async function runAll() {
537536 // Read test source once and reuse for all checks below
538537 const testSrc = fs . readFileSync ( f , 'utf8' ) ;
539538
540- // Detect tests that require $262.agent (multi-threaded worker support)
539+ // Detect tests that require $262.agent (multi-threaded worker support).
540+ // These require an engine-side host implementation. Do not route them through Node,
541+ // because that tests the host shim rather than the Rust engine.
541542 const needsAgent = / \$ 2 6 2 \. a g e n t \b / . test ( testSrc ) ;
542- if ( needsAgent ) {
543- skip ++ ;
544- log ( `SKIP (agent unsupported in vm mode) ${ f } ` ) ;
545- continue ;
546- }
547543
548544 // Handle includes
549545 const includes = parseList ( meta , 'includes' ) ;
@@ -611,7 +607,7 @@ async function runAll() {
611607
612608 const testCwd = path . dirname ( tmpPath ) ;
613609
614- const p = runSingleComposedTest ( f , tmpPath , cleanupTmp , testCwd , isModule , expectedNegative )
610+ const p = runSingleComposedTest ( f , tmpPath , cleanupTmp , testCwd , isModule , expectedNegative , needsAgent )
615611 . finally ( ( ) => running . delete ( p ) ) ;
616612 running . add ( p ) ;
617613 scheduledCount ++ ;
0 commit comments