@@ -28,6 +28,7 @@ import { BaseLogger, LogOptions } from "./common";
2828import { TestRunner } from "./test-runner" ;
2929import { TestManagerBase } from "./test-manager-base" ;
3030import { App } from "./common/app" ;
31+ import { isWorkspaceFolderOnDisk } from "./helpers" ;
3132
3233/**
3334 * Returns the complete text content of the specified file. If there is an error reading the file,
@@ -162,15 +163,22 @@ export class TestManager extends TestManagerBase {
162163 private startTrackingWorkspaceFolders (
163164 workspaceFolders : readonly WorkspaceFolder [ ] ,
164165 ) : void {
165- for ( const workspaceFolder of workspaceFolders ) {
166- const workspaceFolderHandler = new WorkspaceFolderHandler (
167- workspaceFolder ,
168- this ,
169- this . cliServer ,
170- ) ;
171- this . track ( workspaceFolderHandler ) ;
172- this . workspaceFolderHandlers . set ( workspaceFolder , workspaceFolderHandler ) ;
173- }
166+ // Only track on-disk workspace folders, to avoid trying to run the CLI test discovery command
167+ // on random URIs.
168+ workspaceFolders
169+ . filter ( isWorkspaceFolderOnDisk )
170+ . forEach ( ( workspaceFolder ) => {
171+ const workspaceFolderHandler = new WorkspaceFolderHandler (
172+ workspaceFolder ,
173+ this ,
174+ this . cliServer ,
175+ ) ;
176+ this . track ( workspaceFolderHandler ) ;
177+ this . workspaceFolderHandlers . set (
178+ workspaceFolder ,
179+ workspaceFolderHandler ,
180+ ) ;
181+ } ) ;
174182 }
175183
176184 /** Stop tracking tests in the specified workspace folders. */
0 commit comments