From a1eefc0ccb3cfd7376d124f2781b6db8be3f6785 Mon Sep 17 00:00:00 2001 From: Matthew Shehan Date: Mon, 7 Jul 2025 16:47:47 -0700 Subject: [PATCH] update package to swift 5 --- Package.swift | 16 ++++- .../EmbassyTests/HTTPHeaderParserTests.swift | 4 +- Tests/EmbassyTests/TestingHelpers.swift | 2 +- Tests/EmbassyTests/TransportTests.swift | 70 +++++++++---------- 4 files changed, 51 insertions(+), 41 deletions(-) diff --git a/Package.swift b/Package.swift index 2560c76..b206378 100644 --- a/Package.swift +++ b/Package.swift @@ -1,8 +1,18 @@ -// swift-tools-version:4.2 +// swift-tools-version:5.0 import PackageDescription let package = Package( name: "Embassy", - products: [.library(name: "Embassy", targets: ["Embassy"])], - targets: [.target(name: "Embassy", path: "./Sources")] + platforms: [ + .iOS(.v12), + .tvOS(.v12), + .macOS(.v10_13) + ], + products: [ + .library(name: "Embassy", targets: ["Embassy"]) + ], + targets: [ + .target(name: "Embassy", path: "./Sources"), + .testTarget(name: "EmbassyTests", dependencies: ["Embassy"], path: "./Tests/EmbassyTests") + ] ) diff --git a/Tests/EmbassyTests/HTTPHeaderParserTests.swift b/Tests/EmbassyTests/HTTPHeaderParserTests.swift index 469c248..71e8643 100644 --- a/Tests/EmbassyTests/HTTPHeaderParserTests.swift +++ b/Tests/EmbassyTests/HTTPHeaderParserTests.swift @@ -24,8 +24,8 @@ import XCTest } #endif -extension HTTPHeaderParser.Element: Equatable { -} +extension HTTPHeaderParser.Element: @retroactive Equatable {} + public func == (lhs: HTTPHeaderParser.Element, rhs: HTTPHeaderParser.Element) -> Bool { switch lhs { case .head(let lhsMethod, let lhsPath, let lhsVersion): diff --git a/Tests/EmbassyTests/TestingHelpers.swift b/Tests/EmbassyTests/TestingHelpers.swift index b665937..6bda88b 100644 --- a/Tests/EmbassyTests/TestingHelpers.swift +++ b/Tests/EmbassyTests/TestingHelpers.swift @@ -96,7 +96,7 @@ func makeRandomString(_ length: Int) -> String { let endIndex = UInt32(letters.count - 1) let result: [Any?] = Array(repeating: nil, count: length) return String(result.map({ _ in - letters[String.Index(encodedOffset: Int(arc4random_uniform(endIndex)))] + letters[String.Index(utf16Offset: Int(arc4random_uniform(endIndex)), in: letters)] })) } diff --git a/Tests/EmbassyTests/TransportTests.swift b/Tests/EmbassyTests/TransportTests.swift index 946fdc0..c1de5a1 100644 --- a/Tests/EmbassyTests/TransportTests.swift +++ b/Tests/EmbassyTests/TransportTests.swift @@ -52,25 +52,25 @@ class TransportTests: XCTestCase { ].reduce(0) { $0 + $1.count } let clientSocket = try! TCPSocket() - let clientTransport = Transport(socket: clientSocket, eventLoop: loop) { data in - clientReceivedData.append(String(bytes: data, encoding: String.Encoding.utf8)!) - totalReceivedSize += clientReceivedData.last!.count - if totalReceivedSize >= totalDataSize { - loop.stop() - } + let clientTransport = Transport(socket: clientSocket, eventLoop: loop, readDataCallback: { data in + clientReceivedData.append(String(bytes: data, encoding: String.Encoding.utf8)!) + totalReceivedSize += clientReceivedData.last!.count + if totalReceivedSize >= totalDataSize { + loop.stop() } + }) var acceptedSocket: TCPSocket! var serverTransport: Transport! loop.setReader(listenSocket.fileDescriptor) { acceptedSocket = try! listenSocket.accept() - serverTransport = Transport(socket: acceptedSocket, eventLoop: loop) { data in - serverReceivedData.append(String(bytes: data, encoding: String.Encoding.utf8)!) - totalReceivedSize += serverReceivedData.last!.count - if totalReceivedSize >= totalDataSize { - loop.stop() - } + serverTransport = Transport(socket: acceptedSocket, eventLoop: loop, readDataCallback: { data in + serverReceivedData.append(String(bytes: data, encoding: String.Encoding.utf8)!) + totalReceivedSize += serverReceivedData.last!.count + if totalReceivedSize >= totalDataSize { + loop.stop() } + }) } try! clientSocket.connect(host: "::1", port: port) @@ -125,23 +125,23 @@ class TransportTests: XCTestCase { var serverReceivedData: [String] = [] let clientSocket = try! TCPSocket() - let clientTransport = Transport(socket: clientSocket, eventLoop: loop) { data in - clientReceivedData.append(String(bytes: data, encoding: String.Encoding.utf8)!) - if clientReceivedData.count >= 3 && serverReceivedData.count >= 3 { - loop.stop() - } + let clientTransport = Transport(socket: clientSocket, eventLoop: loop, readDataCallback: { data in + clientReceivedData.append(String(bytes: data, encoding: String.Encoding.utf8)!) + if clientReceivedData.count >= 3 && serverReceivedData.count >= 3 { + loop.stop() } + }) var acceptedSocket: TCPSocket! var serverTransport: Transport! loop.setReader(listenSocket.fileDescriptor) { acceptedSocket = try! listenSocket.accept() - serverTransport = Transport(socket: acceptedSocket, eventLoop: loop) { data in - serverReceivedData.append(String(bytes: data, encoding: String.Encoding.utf8)!) - if clientReceivedData.count >= 3 && serverReceivedData.count >= 3 { - loop.stop() - } + serverTransport = Transport(socket: acceptedSocket, eventLoop: loop, readDataCallback: { data in + serverReceivedData.append(String(bytes: data, encoding: String.Encoding.utf8)!) + if clientReceivedData.count >= 3 && serverReceivedData.count >= 3 { + loop.stop() } + }) } try! clientSocket.connect(host: "::1", port: port) @@ -184,9 +184,9 @@ class TransportTests: XCTestCase { try! listenSocket.listen() let clientSocket = try! TCPSocket() - let clientTransport = Transport(socket: clientSocket, eventLoop: loop) { _ in - - } + let clientTransport = Transport(socket: clientSocket, eventLoop: loop, readDataCallback: { _ in + + }) var acceptedSocket: TCPSocket! var serverTransport: Transport! var serverReceivedData: [String] = [] @@ -251,23 +251,23 @@ class TransportTests: XCTestCase { var serverReceivedData: [String] = [] let clientSocket = try! TCPSocket() - let clientTransport = Transport(socket: clientSocket, eventLoop: loop) { data in - clientReceivedData.append(String(bytes: data, encoding: String.Encoding.utf8)!) - if clientReceivedData.count >= 3 && serverReceivedData.count >= 3 { - loop.stop() - } + let clientTransport = Transport(socket: clientSocket, eventLoop: loop, readDataCallback: { data in + clientReceivedData.append(String(bytes: data, encoding: String.Encoding.utf8)!) + if clientReceivedData.count >= 3 && serverReceivedData.count >= 3 { + loop.stop() } + }) var acceptedSocket: TCPSocket! var serverTransport: Transport! loop.setReader(listenSocket.fileDescriptor) { acceptedSocket = try! listenSocket.accept() - serverTransport = Transport(socket: acceptedSocket, eventLoop: loop) { data in - serverReceivedData.append(String(bytes: data, encoding: String.Encoding.utf8)!) - if clientReceivedData.count >= 3 && serverReceivedData.count >= 3 { - loop.stop() - } + serverTransport = Transport(socket: acceptedSocket, eventLoop: loop, readDataCallback: { data in + serverReceivedData.append(String(bytes: data, encoding: String.Encoding.utf8)!) + if clientReceivedData.count >= 3 && serverReceivedData.count >= 3 { + loop.stop() } + }) } try! clientSocket.connect(host: "::1", port: port)