Skip to content

Commit f97d226

Browse files
committed
Updated tests
- Shutdown ELG in testUploadStreamingBackpressure - Added isTestingNIOTS() - Added testCorrectEventLoopGroup
1 parent 577ea29 commit f97d226

File tree

3 files changed

+29
-11
lines changed

3 files changed

+29
-11
lines changed

Tests/AsyncHTTPClientTests/HTTPClientInternalTests.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,7 @@ class HTTPClientInternalTests: XCTestCase {
239239
defer {
240240
XCTAssertNoThrow(try httpClient.syncShutdown(requiresCleanClose: true))
241241
XCTAssertNoThrow(try httpBin.shutdown())
242+
XCTAssertNoThrow(try eventLoopGroup.syncShutdownGracefully())
242243
}
243244

244245
let request = try Request(url: "http://localhost:\(httpBin.port)/custom")

Tests/AsyncHTTPClientTests/HTTPClientTestUtils.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,15 @@ import NIOHTTPCompression
2121
import NIOSSL
2222
import NIOTransportServices
2323

24+
/// Are we testing NIO Transport services
25+
func isTestingNIOTS() -> Bool {
26+
return ProcessInfo.processInfo.environment["ENABLE_TS_TESTS"] == "true"
27+
}
28+
2429
func getDefaultEventLoopGroup(numberOfThreads: Int) -> EventLoopGroup {
2530
#if canImport(Network)
2631
if #available(OSX 10.14, iOS 12.0, tvOS 12.0, watchOS 6.0, *),
27-
ProcessInfo.processInfo.environment["ENABLE_TS_TESTS"] == "true" {
32+
isTestingNIOTS() {
2833
return NIOTSEventLoopGroup(loopCount: numberOfThreads, defaultQoS: .default)
2934
}
3035
#endif

Tests/AsyncHTTPClientTests/HTTPClientTests.swift

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ class HTTPClientTests: XCTestCase {
386386
func testProxyTLS() throws {
387387
XCTFail("Disabled test as it crashes");
388388
return
389-
389+
390390
let httpBin = HTTPBin(simulateProxy: .tls)
391391
let httpClient = HTTPClient(
392392
eventLoopGroupProvider: .shared(self.clientGroup),
@@ -1094,11 +1094,9 @@ class HTTPClientTests: XCTestCase {
10941094
}
10951095

10961096
func testStressGetClose() throws {
1097-
if #available(OSX 10.14, iOS 12.0, tvOS 12.0, watchOS 6.0, *) {
1098-
guard !(self.clientGroup is NIOTSEventLoopGroup) else {
1099-
XCTFail("Disabled test as it crashes");
1100-
return
1101-
}
1097+
guard !isTestingNIOTS() else {
1098+
XCTFail("Disabled test as it crashes");
1099+
return
11021100
}
11031101
let httpBin = HTTPBin(ssl: false)
11041102
let httpClient = HTTPClient(eventLoopGroupProvider: .shared(self.clientGroup),
@@ -1673,15 +1671,29 @@ class HTTPClientTests: XCTestCase {
16731671
}
16741672

16751673
func testAsyncShutdown() {
1676-
let eventLoopGroup = MultiThreadedEventLoopGroup(numberOfThreads: 1)
1677-
let httpClient = HTTPClient(eventLoopGroupProvider: .shared(eventLoopGroup))
1678-
let promise = eventLoopGroup.next().makePromise(of: Void.self)
1679-
eventLoopGroup.next().execute {
1674+
let httpClient = HTTPClient(eventLoopGroupProvider: .shared(self.clientGroup))
1675+
let promise = self.clientGroup.next().makePromise(of: Void.self)
1676+
self.clientGroup.next().execute {
16801677
httpClient.shutdown(queue: DispatchQueue(label: "testAsyncShutdown")) { error in
16811678
XCTAssertNil(error)
16821679
promise.succeed(())
16831680
}
16841681
}
16851682
XCTAssertNoThrow(try promise.futureResult.wait())
16861683
}
1684+
1685+
1686+
func testCorrectEventLoopGroup() {
1687+
let httpClient = HTTPClient(eventLoopGroupProvider: .createNew)
1688+
defer {
1689+
XCTAssertNoThrow(try httpClient.syncShutdown())
1690+
}
1691+
#if canImport(Network)
1692+
if #available(OSX 10.14, iOS 12.0, tvOS 12.0, watchOS 6.0, *) {
1693+
XCTAssertTrue(httpClient.eventLoopGroup is NIOTSEventLoopGroup)
1694+
return
1695+
}
1696+
#endif
1697+
XCTAssertTrue(httpClient.eventLoopGroup is MultiThreadedEventLoopGroup)
1698+
}
16871699
}

0 commit comments

Comments
 (0)