Skip to content

Commit 227641a

Browse files
authored
Clear first-party warnings from the cross-platform swift test job (#25813)
The `swift test` job added in #25344 surfaces warnings the iOS app build hides — Xcode suppresses warnings from SPM package dependencies, and `WordPressCore` / `WordPressCoreTests` build in Swift 6 language mode. All three are dead code or a missing conformance, with no behavior change: - `UserService.fetchUsers()`: dead `await` on `sequenceWithEditContext`, which builds a `PaginationSequence` synchronously. - `WordPressClientFeatureTests`: three dead `try` on the non-throwing `WordPressClient(api:siteURL:)` initializer. - `MockWordPressClientAPI`: five mock executors subclass wordpress-rs's `@unchecked Sendable` base classes without restating the conformance, which Swift 6 requires. Correct for iOS too — same sources, same wordpress-rs binary, no platform conditionals.
1 parent 4cc7158 commit 227641a

3 files changed

Lines changed: 9 additions & 9 deletions

File tree

Modules/Sources/WordPressCore/Users/UserService.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public actor UserService: UserServiceProtocol {
2323
}
2424

2525
public func fetchUsers() async throws {
26-
let sequence = await client.api.users.sequenceWithEditContext(params: .init(perPage: 100))
26+
let sequence = client.api.users.sequenceWithEditContext(params: .init(perPage: 100))
2727
var started = false
2828
for try await users in sequence {
2929
if !started {

Modules/Tests/WordPressCoreTests/MockWordPressClientAPI.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ final class MockWordPressClientAPI: WordPressClientAPI, @unchecked Sendable {
9292

9393
// MARK: - Mock Executors
9494

95-
final class MockApiRootRequestExecutor: ApiRootRequestExecutor {
95+
final class MockApiRootRequestExecutor: ApiRootRequestExecutor, @unchecked Sendable {
9696
private var routes: Set<String>
9797

9898
init(routes: Set<String>) {
@@ -112,7 +112,7 @@ final class MockApiRootRequestExecutor: ApiRootRequestExecutor {
112112
}
113113
}
114114

115-
final class MockUsersRequestExecutor: UsersRequestExecutor {
115+
final class MockUsersRequestExecutor: UsersRequestExecutor, @unchecked Sendable {
116116
override init(noHandle: UsersRequestExecutor.NoHandle) {
117117
super.init(noHandle: noHandle)
118118
}
@@ -148,7 +148,7 @@ final class MockUsersRequestExecutor: UsersRequestExecutor {
148148
}
149149
}
150150

151-
final class MockThemesRequestExecutor: ThemesRequestExecutor {
151+
final class MockThemesRequestExecutor: ThemesRequestExecutor, @unchecked Sendable {
152152
private var isBlockTheme: Bool
153153

154154
init(isBlockTheme: Bool) {
@@ -191,7 +191,7 @@ final class MockThemesRequestExecutor: ThemesRequestExecutor {
191191
}
192192
}
193193

194-
final class MockSiteSettingsRequestExecutor: SiteSettingsRequestExecutor {
194+
final class MockSiteSettingsRequestExecutor: SiteSettingsRequestExecutor, @unchecked Sendable {
195195
override init(noHandle: SiteSettingsRequestExecutor.NoHandle) {
196196
super.init(noHandle: noHandle)
197197
}
@@ -235,7 +235,7 @@ final class MockSiteSettingsRequestExecutor: SiteSettingsRequestExecutor {
235235
}
236236
}
237237

238-
final class MockWpApiDetails: WpApiDetails {
238+
final class MockWpApiDetails: WpApiDetails, @unchecked Sendable {
239239
private var routes: Set<String>
240240

241241
init(routes: Set<String>) {

Modules/Tests/WordPressCoreTests/WordPressClientFeatureTests.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ struct WordPressClientCachingTests {
2626
mockAPI.mockRoutes = ["/wp-block-editor/v1/settings"]
2727
mockAPI.mockIsBlockTheme = true
2828

29-
let client = try WordPressClient(api: mockAPI, siteURL: URL(string: "https://example.com")!)
29+
let client = WordPressClient(api: mockAPI, siteURL: URL(string: "https://example.com")!)
3030

3131
// First call - should trigger API fetches
3232
let result1 = try await client.supports(.blockEditorSettings)
@@ -61,7 +61,7 @@ struct WordPressClientCachingTests {
6161
let mockAPI = MockWordPressClientAPI()
6262
mockAPI.mockRoutes = ["/wp-block-editor/v1/sites/12345/settings"]
6363

64-
let client = try WordPressClient(api: mockAPI, siteURL: URL(string: "https://example.com")!)
64+
let client = WordPressClient(api: mockAPI, siteURL: URL(string: "https://example.com")!)
6565

6666
// Call with siteId
6767
let result = try await client.supports(.blockEditorSettings, forSiteId: 12345)
@@ -81,7 +81,7 @@ struct WordPressClientCachingTests {
8181
mockAPI.mockRoutes = ["/wp-block-editor/v1/settings", "/wp/v2/plugins"]
8282
mockAPI.mockIsBlockTheme = true
8383

84-
let client = try WordPressClient(api: mockAPI, siteURL: URL(string: "https://example.com")!)
84+
let client = WordPressClient(api: mockAPI, siteURL: URL(string: "https://example.com")!)
8585

8686
// Make multiple concurrent calls
8787
async let result1 = client.supports(.blockEditorSettings)

0 commit comments

Comments
 (0)