fix(macos): avoid discovery retries during tests

This commit is contained in:
Peter Steinberger
2026-01-11 01:16:29 +01:00
parent 362fc3e235
commit d2098e4492

View File

@@ -213,7 +213,7 @@ public final class GatewayDiscoveryModel {
private func scheduleWideAreaFallback() {
let domain = ClawdbotBonjour.wideAreaBridgeServiceDomain
if ProcessInfo.processInfo.isRunningTests { return }
if Self.isRunningTests { return }
guard self.wideAreaFallbackTask == nil else { return }
self.wideAreaFallbackTask = Task.detached(priority: .utility) { [weak self] in
guard let self else { return }
@@ -262,6 +262,16 @@ public final class GatewayDiscoveryModel {
}
}
private nonisolated static var isRunningTests: Bool {
// Keep discovery background work from running forever during SwiftPM test runs.
if Bundle.allBundles.contains(where: { $0.bundleURL.pathExtension == "xctest" }) { return true }
let env = ProcessInfo.processInfo.environment
return env["XCTestConfigurationFilePath"] != nil
|| env["XCTestBundlePath"] != nil
|| env["XCTestSessionIdentifier"] != nil
}
private func updateGatewaysForAllDomains() {
for domain in self.resultsByDomain.keys {
self.updateGateways(for: domain)