Skip to content

Commit 8d07f20

Browse files
authored
Fix Sendable warnings (#536)
1 parent d6b6487 commit 8d07f20

File tree

5 files changed

+41
-52
lines changed

5 files changed

+41
-52
lines changed

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ let package = Package(
2020
dependencies: [
2121
.package(url: "https://github.com/apple/swift-atomics.git", from: "1.2.0"),
2222
.package(url: "https://github.com/apple/swift-collections.git", from: "1.0.4"),
23-
.package(url: "https://github.com/apple/swift-nio.git", from: "2.59.0"),
23+
.package(url: "https://github.com/apple/swift-nio.git", from: "2.81.0"),
2424
.package(url: "https://github.com/apple/swift-nio-transport-services.git", from: "1.19.0"),
2525
.package(url: "https://github.com/apple/swift-nio-ssl.git", from: "2.25.0"),
2626
.package(url: "https://github.com/apple/swift-crypto.git", "2.0.0" ..< "4.0.0"),

Tests/IntegrationTests/PostgresNIOTests.swift

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1032,28 +1032,6 @@ final class PostgresNIOTests: XCTestCase {
10321032
}
10331033
}
10341034

1035-
func testRemoteTLSServer() {
1036-
// postgres://uymgphwj:[email protected]:5432/uymgphwj
1037-
var conn: PostgresConnection?
1038-
let logger = Logger(label: "test")
1039-
let sslContext = try! NIOSSLContext(configuration: .makeClientConfiguration())
1040-
let config = PostgresConnection.Configuration(
1041-
host: "elmer.db.elephantsql.com",
1042-
port: 5432,
1043-
username: "uymgphwj",
1044-
password: "7_tHbREdRwkqAdu4KoIS7hQnNxr8J1LA",
1045-
database: "uymgphwj",
1046-
tls: .require(sslContext)
1047-
)
1048-
XCTAssertNoThrow(conn = try PostgresConnection.connect(on: eventLoop, configuration: config, id: 0, logger: logger).wait())
1049-
defer { XCTAssertNoThrow( try conn?.close().wait() ) }
1050-
var rows: [PostgresRow]?
1051-
XCTAssertNoThrow(rows = try conn?.simpleQuery("SELECT version()").wait())
1052-
XCTAssertEqual(rows?.count, 1)
1053-
let row = rows?.first?.makeRandomAccess()
1054-
XCTAssertEqual(row?[data: "version"].string?.contains("PostgreSQL"), true)
1055-
}
1056-
10571035
@available(*, deprecated, message: "Test deprecated functionality")
10581036
func testFailingTLSConnectionClosesConnection() {
10591037
// There was a bug (https://github.com/vapor/postgres-nio/issues/133) where we would hit

Tests/PostgresNIOTests/New/PostgresChannelHandlerTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ class PostgresChannelHandlerTests: XCTestCase {
124124
handler
125125
], loop: self.eventLoop)
126126
let eventHandler = TestEventHandler()
127-
try embedded.pipeline.addHandler(eventHandler, position: .last).wait()
127+
try embedded.pipeline.syncOperations.addHandler(eventHandler, position: .last)
128128

129129
embedded.connect(to: try .init(ipAddress: "0.0.0.0", port: 5432), promise: nil)
130130
XCTAssertTrue(embedded.isActive)

Tests/PostgresNIOTests/New/PostgresConnectionTests.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ class PostgresConnectionTests: XCTestCase {
4040

4141
func testOptionsAreSentOnTheWire() async throws {
4242
let eventLoop = NIOAsyncTestingEventLoop()
43-
let channel = await NIOAsyncTestingChannel(handlers: [
44-
ReverseByteToMessageHandler(PSQLFrontendMessageDecoder()),
45-
ReverseMessageToByteHandler(PSQLBackendMessageEncoder()),
46-
], loop: eventLoop)
43+
let channel = try await NIOAsyncTestingChannel(loop: eventLoop) { channel in
44+
try channel.pipeline.syncOperations.addHandlers(ReverseByteToMessageHandler(PSQLFrontendMessageDecoder()))
45+
try channel.pipeline.syncOperations.addHandlers(ReverseMessageToByteHandler(PSQLBackendMessageEncoder()))
46+
}
4747
try await channel.connect(to: .makeAddressResolvingHost("localhost", port: 5432))
4848

4949
let configuration = {
@@ -640,10 +640,10 @@ class PostgresConnectionTests: XCTestCase {
640640

641641
func makeTestConnectionWithAsyncTestingChannel() async throws -> (PostgresConnection, NIOAsyncTestingChannel) {
642642
let eventLoop = NIOAsyncTestingEventLoop()
643-
let channel = await NIOAsyncTestingChannel(handlers: [
644-
ReverseByteToMessageHandler(PSQLFrontendMessageDecoder()),
645-
ReverseMessageToByteHandler(PSQLBackendMessageEncoder()),
646-
], loop: eventLoop)
643+
let channel = try await NIOAsyncTestingChannel(loop: eventLoop) { channel in
644+
try channel.pipeline.syncOperations.addHandlers(ReverseByteToMessageHandler(PSQLFrontendMessageDecoder()))
645+
try channel.pipeline.syncOperations.addHandlers(ReverseMessageToByteHandler(PSQLBackendMessageEncoder()))
646+
}
647647
try await channel.connect(to: .makeAddressResolvingHost("localhost", port: 5432))
648648

649649
let configuration = PostgresConnection.Configuration(

Tests/PostgresNIOTests/New/PostgresRowSequenceTests.swift

Lines changed: 31 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
import Atomics
22
import NIOEmbedded
3-
import Dispatch
3+
import NIOPosix
44
import XCTest
55
@testable import PostgresNIO
66
import NIOCore
77
import Logging
88

99
final class PostgresRowSequenceTests: XCTestCase {
1010
let logger = Logger(label: "PSQLRowStreamTests")
11-
let eventLoop = EmbeddedEventLoop()
1211

1312
func testBackpressureWorks() async throws {
1413
let dataSource = MockRowDataSource()
14+
let embeddedEventLoop = EmbeddedEventLoop()
1515
let stream = PSQLRowStream(
1616
source: .stream(
1717
[
1818
.init(name: "test", tableOID: 0, columnAttributeNumber: 0, dataType: .int8, dataTypeSize: 8, dataTypeModifier: 0, format: .binary)
1919
],
2020
dataSource
2121
),
22-
eventLoop: self.eventLoop,
22+
eventLoop: embeddedEventLoop,
2323
logger: self.logger
2424
)
2525

@@ -41,14 +41,15 @@ final class PostgresRowSequenceTests: XCTestCase {
4141

4242
func testCancellationWorksWhileIterating() async throws {
4343
let dataSource = MockRowDataSource()
44+
let embeddedEventLoop = EmbeddedEventLoop()
4445
let stream = PSQLRowStream(
4546
source: .stream(
4647
[
4748
.init(name: "test", tableOID: 0, columnAttributeNumber: 0, dataType: .int8, dataTypeSize: 8, dataTypeModifier: 0, format: .binary)
4849
],
4950
dataSource
5051
),
51-
eventLoop: self.eventLoop,
52+
eventLoop: embeddedEventLoop,
5253
logger: self.logger
5354
)
5455

@@ -72,14 +73,15 @@ final class PostgresRowSequenceTests: XCTestCase {
7273

7374
func testCancellationWorksBeforeIterating() async throws {
7475
let dataSource = MockRowDataSource()
76+
let embeddedEventLoop = EmbeddedEventLoop()
7577
let stream = PSQLRowStream(
7678
source: .stream(
7779
[
7880
.init(name: "test", tableOID: 0, columnAttributeNumber: 0, dataType: .int8, dataTypeSize: 8, dataTypeModifier: 0, format: .binary)
7981
],
8082
dataSource
8183
),
82-
eventLoop: self.eventLoop,
84+
eventLoop: embeddedEventLoop,
8385
logger: self.logger
8486
)
8587

@@ -97,14 +99,15 @@ final class PostgresRowSequenceTests: XCTestCase {
9799

98100
func testDroppingTheSequenceCancelsTheSource() async throws {
99101
let dataSource = MockRowDataSource()
102+
let embeddedEventLoop = EmbeddedEventLoop()
100103
let stream = PSQLRowStream(
101104
source: .stream(
102105
[
103106
.init(name: "test", tableOID: 0, columnAttributeNumber: 0, dataType: .int8, dataTypeSize: 8, dataTypeModifier: 0, format: .binary)
104107
],
105108
dataSource
106109
),
107-
eventLoop: self.eventLoop,
110+
eventLoop: embeddedEventLoop,
108111
logger: self.logger
109112
)
110113

@@ -117,14 +120,15 @@ final class PostgresRowSequenceTests: XCTestCase {
117120

118121
func testStreamBasedOnCompletedQuery() async throws {
119122
let dataSource = MockRowDataSource()
123+
let embeddedEventLoop = EmbeddedEventLoop()
120124
let stream = PSQLRowStream(
121125
source: .stream(
122126
[
123127
.init(name: "test", tableOID: 0, columnAttributeNumber: 0, dataType: .int8, dataTypeSize: 8, dataTypeModifier: 0, format: .binary)
124128
],
125129
dataSource
126130
),
127-
eventLoop: self.eventLoop,
131+
eventLoop: embeddedEventLoop,
128132
logger: self.logger
129133
)
130134

@@ -144,14 +148,15 @@ final class PostgresRowSequenceTests: XCTestCase {
144148

145149
func testStreamIfInitializedWithAllData() async throws {
146150
let dataSource = MockRowDataSource()
151+
let embeddedEventLoop = EmbeddedEventLoop()
147152
let stream = PSQLRowStream(
148153
source: .stream(
149154
[
150155
.init(name: "test", tableOID: 0, columnAttributeNumber: 0, dataType: .int8, dataTypeSize: 8, dataTypeModifier: 0, format: .binary)
151156
],
152157
dataSource
153158
),
154-
eventLoop: self.eventLoop,
159+
eventLoop: embeddedEventLoop,
155160
logger: self.logger
156161
)
157162

@@ -172,14 +177,15 @@ final class PostgresRowSequenceTests: XCTestCase {
172177

173178
func testStreamIfInitializedWithError() async throws {
174179
let dataSource = MockRowDataSource()
180+
let embeddedEventLoop = EmbeddedEventLoop()
175181
let stream = PSQLRowStream(
176182
source: .stream(
177183
[
178184
.init(name: "test", tableOID: 0, columnAttributeNumber: 0, dataType: .int8, dataTypeSize: 8, dataTypeModifier: 0, format: .binary)
179185
],
180186
dataSource
181187
),
182-
eventLoop: self.eventLoop,
188+
eventLoop: embeddedEventLoop,
183189
logger: self.logger
184190
)
185191

@@ -200,29 +206,30 @@ final class PostgresRowSequenceTests: XCTestCase {
200206

201207
func testSucceedingRowContinuationsWorks() async throws {
202208
let dataSource = MockRowDataSource()
209+
let eventLoop = NIOSingletons.posixEventLoopGroup.next()
203210
let stream = PSQLRowStream(
204211
source: .stream(
205212
[
206213
.init(name: "test", tableOID: 0, columnAttributeNumber: 0, dataType: .int8, dataTypeSize: 8, dataTypeModifier: 0, format: .binary)
207214
],
208215
dataSource
209216
),
210-
eventLoop: self.eventLoop,
217+
eventLoop: eventLoop,
211218
logger: self.logger
212219
)
213220

214-
let rowSequence = stream.asyncSequence()
221+
let rowSequence = try await eventLoop.submit { stream.asyncSequence() }.get()
215222
var rowIterator = rowSequence.makeAsyncIterator()
216223

217-
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(1)) {
224+
eventLoop.scheduleTask(in: .seconds(1)) {
218225
let dataRows: [DataRow] = (0..<1).map { [ByteBuffer(integer: Int64($0))] }
219226
stream.receive(dataRows)
220227
}
221228

222229
let row1 = try await rowIterator.next()
223230
XCTAssertEqual(try row1?.decode(Int.self), 0)
224231

225-
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(1)) {
232+
eventLoop.scheduleTask(in: .seconds(1)) {
226233
stream.receive(completion: .success("SELECT 1"))
227234
}
228235

@@ -232,29 +239,30 @@ final class PostgresRowSequenceTests: XCTestCase {
232239

233240
func testFailingRowContinuationsWorks() async throws {
234241
let dataSource = MockRowDataSource()
242+
let eventLoop = NIOSingletons.posixEventLoopGroup.next()
235243
let stream = PSQLRowStream(
236244
source: .stream(
237245
[
238246
.init(name: "test", tableOID: 0, columnAttributeNumber: 0, dataType: .int8, dataTypeSize: 8, dataTypeModifier: 0, format: .binary)
239247
],
240248
dataSource
241249
),
242-
eventLoop: self.eventLoop,
250+
eventLoop: eventLoop,
243251
logger: self.logger
244252
)
245253

246-
let rowSequence = stream.asyncSequence()
254+
let rowSequence = try await eventLoop.submit { stream.asyncSequence() }.get()
247255
var rowIterator = rowSequence.makeAsyncIterator()
248256

249-
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(1)) {
257+
eventLoop.scheduleTask(in: .seconds(1)) {
250258
let dataRows: [DataRow] = (0..<1).map { [ByteBuffer(integer: Int64($0))] }
251259
stream.receive(dataRows)
252260
}
253261

254262
let row1 = try await rowIterator.next()
255263
XCTAssertEqual(try row1?.decode(Int.self), 0)
256264

257-
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(1)) {
265+
eventLoop.scheduleTask(in: .seconds(1)) {
258266
stream.receive(completion: .failure(PSQLError.serverClosedConnection(underlying: nil)))
259267
}
260268

@@ -268,14 +276,15 @@ final class PostgresRowSequenceTests: XCTestCase {
268276

269277
func testAdaptiveRowBufferShrinksAndGrows() async throws {
270278
let dataSource = MockRowDataSource()
279+
let embeddedEventLoop = EmbeddedEventLoop()
271280
let stream = PSQLRowStream(
272281
source: .stream(
273282
[
274283
.init(name: "test", tableOID: 0, columnAttributeNumber: 0, dataType: .int8, dataTypeSize: 8, dataTypeModifier: 0, format: .binary)
275284
],
276285
dataSource
277286
),
278-
eventLoop: self.eventLoop,
287+
eventLoop: embeddedEventLoop,
279288
logger: self.logger
280289
)
281290

@@ -332,14 +341,15 @@ final class PostgresRowSequenceTests: XCTestCase {
332341

333342
func testAdaptiveRowShrinksToMin() async throws {
334343
let dataSource = MockRowDataSource()
344+
let embeddedEventLoop = EmbeddedEventLoop()
335345
let stream = PSQLRowStream(
336346
source: .stream(
337347
[
338348
.init(name: "test", tableOID: 0, columnAttributeNumber: 0, dataType: .int8, dataTypeSize: 8, dataTypeModifier: 0, format: .binary)
339349
],
340350
dataSource
341351
),
342-
eventLoop: self.eventLoop,
352+
eventLoop: embeddedEventLoop,
343353
logger: self.logger
344354
)
345355

@@ -386,14 +396,15 @@ final class PostgresRowSequenceTests: XCTestCase {
386396

387397
func testStreamBufferAcceptsNewRowsEventhoughItDidntAskForIt() async throws {
388398
let dataSource = MockRowDataSource()
399+
let embeddedEventLoop = EmbeddedEventLoop()
389400
let stream = PSQLRowStream(
390401
source: .stream(
391402
[
392403
.init(name: "test", tableOID: 0, columnAttributeNumber: 0, dataType: .int8, dataTypeSize: 8, dataTypeModifier: 0, format: .binary)
393404
],
394405
dataSource
395406
),
396-
eventLoop: self.eventLoop,
407+
eventLoop: embeddedEventLoop,
397408
logger: self.logger
398409
)
399410

0 commit comments

Comments
 (0)