@@ -378,9 +378,15 @@ import Foundation
378378 func toolchainPathsCount( ) async throws -> Int {
379379 let delegate = Delegate ( )
380380 let pluginManager = await PluginManager ( skipLoadingPluginIdentifiers: [ ] )
381+ await pluginManager. registerExtensionPoint ( DeveloperDirectoryExtensionPoint ( ) )
381382 await pluginManager. registerExtensionPoint ( SpecificationsExtensionPoint ( ) )
382383 await pluginManager. registerExtensionPoint ( ToolchainRegistryExtensionPoint ( ) )
383384 await pluginManager. register ( BuiltinSpecsExtension ( ) , type: SpecificationsExtensionPoint . self)
385+ struct MockDeveloperDirectoryExtensionPoint : DeveloperDirectoryExtension {
386+ func fallbackDeveloperDirectory( hostOperatingSystem: OperatingSystem ) async throws -> Path ? {
387+ . root
388+ }
389+ }
384390 struct MockToolchainExtension : ToolchainRegistryExtension {
385391 func additionalToolchains( context: any ToolchainRegistryExtensionAdditionalToolchainsContext ) async throws -> [ Toolchain ] {
386392 guard context. toolchainRegistry. lookup ( ToolchainRegistry . defaultToolchainIdentifier) == nil else {
@@ -389,6 +395,7 @@ import Foundation
389395 return [ Toolchain ( identifier: ToolchainRegistry . defaultToolchainIdentifier, displayName: " Mock " , version: Version ( ) , aliases: [ " default " ] , path: . root, frameworkPaths: [ ] , libraryPaths: [ ] , defaultSettings: [ : ] , overrideSettings: [ : ] , defaultSettingsWhenPrimary: [ : ] , executableSearchPaths: [ ] , testingLibraryPlatformNames: [ ] , fs: context. fs) ]
390396 }
391397 }
398+ await pluginManager. register ( MockDeveloperDirectoryExtensionPoint ( ) , type: DeveloperDirectoryExtensionPoint . self)
392399 await pluginManager. register ( MockToolchainExtension ( ) , type: ToolchainRegistryExtensionPoint . self)
393400 let core = await Core . getInitializedCore ( delegate, pluginManager: pluginManager, inferiorProductsPath: Path . root. join ( " invalid " ) , environment: [ : ] , buildServiceModTime: Date ( ) , connectionMode: . inProcess)
394401 for diagnostic in delegate. diagnostics {
@@ -416,9 +423,15 @@ import Foundation
416423 func testExternalToolchainPath( environmentOverrides: [ String : String ] , expecting expectedPathStrings: [ String ] , _ originalToolchainCount: Int ) async throws {
417424 let delegate = Delegate ( )
418425 let pluginManager = await PluginManager ( skipLoadingPluginIdentifiers: [ ] )
426+ await pluginManager. registerExtensionPoint ( DeveloperDirectoryExtensionPoint ( ) )
419427 await pluginManager. registerExtensionPoint ( SpecificationsExtensionPoint ( ) )
420428 await pluginManager. registerExtensionPoint ( ToolchainRegistryExtensionPoint ( ) )
421429 await pluginManager. register ( BuiltinSpecsExtension ( ) , type: SpecificationsExtensionPoint . self)
430+ struct MockDeveloperDirectoryExtensionPoint : DeveloperDirectoryExtension {
431+ func fallbackDeveloperDirectory( hostOperatingSystem: OperatingSystem ) async throws -> Path ? {
432+ . root
433+ }
434+ }
422435 struct MockToolchainExtension : ToolchainRegistryExtension {
423436 func additionalToolchains( context: any ToolchainRegistryExtensionAdditionalToolchainsContext ) async throws -> [ Toolchain ] {
424437 guard context. toolchainRegistry. lookup ( ToolchainRegistry . defaultToolchainIdentifier) == nil else {
@@ -427,6 +440,7 @@ import Foundation
427440 return [ Toolchain ( identifier: ToolchainRegistry . defaultToolchainIdentifier, displayName: " Mock " , version: Version ( ) , aliases: [ " default " ] , path: . root, frameworkPaths: [ ] , libraryPaths: [ ] , defaultSettings: [ : ] , overrideSettings: [ : ] , defaultSettingsWhenPrimary: [ : ] , executableSearchPaths: [ ] , testingLibraryPlatformNames: [ ] , fs: context. fs) ]
428441 }
429442 }
443+ await pluginManager. register ( MockDeveloperDirectoryExtensionPoint ( ) , type: DeveloperDirectoryExtensionPoint . self)
430444 await pluginManager. register ( MockToolchainExtension ( ) , type: ToolchainRegistryExtensionPoint . self)
431445 let core = await Core . getInitializedCore ( delegate, pluginManager: pluginManager, inferiorProductsPath: Path . root. join ( " invalid " ) , environment: environmentOverrides, buildServiceModTime: Date ( ) , connectionMode: . inProcess)
432446 for diagnostic in delegate. diagnostics {
0 commit comments