@@ -53,7 +53,17 @@ import Testing
5353 }
5454 }
5555
56- @Test ( . tags( . large) ) func getSwiftlyRelease( ) async throws {
56+ @Test (
57+ . tags( . large) ,
58+ arguments: [
59+ " https://download.swift.org/swiftly/linux/swiftly-x86_64.tar.gz " , // Latest
60+ " https://download.swift.org/swiftly/linux/swiftly-1.0.1-x86_64.tar.gz " , // Specific version
61+ " https://download.swift.org/swiftly/linux/swiftly-1.0.1-dev-x86_64.tar.gz " , // Specific dev prerelease version
62+ " https://download.swift.org/swiftly/linux/swiftly-aarch64.tar.gz " , // Latest ARM
63+ " https://download.swift.org/swiftly/linux/swiftly-1.0.1-aarch64.tar.gz " , // Specific ARM version
64+ " https://download.swift.org/swiftly/linux/swiftly-1.0.1-dev-aarch64.tar.gz " , // Specific dev prerelease version
65+ ]
66+ ) func getSwiftlyLinuxReleases( url: String ) async throws {
5767 let tmpFile = fs. mktemp ( )
5868 try await fs. create ( file: tmpFile, contents: nil )
5969 let tmpFileSignature = fs. mktemp ( ext: " .sig " )
@@ -64,7 +74,7 @@ import Testing
6474 try await fs. withTemporary ( files: tmpFile, tmpFileSignature, keysFile) {
6575 let httpClient = SwiftlyHTTPClient ( httpRequestExecutor: HTTPRequestExecutorImpl ( ) )
6676
67- let swiftlyURL = try #require( URL ( string: " https://download.swift.org/swiftly/linux/swiftly-x86_64.tar.gz " ) )
77+ let swiftlyURL = try #require( URL ( string: url ) )
6878
6979 try await retry {
7080 try await httpClient. getSwiftlyRelease ( url: swiftlyURL) . download ( to: tmpFile)
@@ -82,6 +92,32 @@ import Testing
8292 }
8393 }
8494
95+ @Test (
96+ . tags( . large) ,
97+ arguments: [
98+ " https://download.swift.org/swiftly/darwin/swiftly.pkg " , // Latest
99+ " https://download.swift.org/swiftly/darwin/swiftly-1.0.1.pkg " , // Specific version
100+ " https://download.swift.org/swiftly/darwin/swiftly-1.0.1-dev.pkg " , // Specific dev prerelease version
101+ ]
102+ ) func getSwiftlyMacOSReleases( url: String ) async throws {
103+ let tmpFile = fs. mktemp ( )
104+ try await fs. create ( file: tmpFile, contents: nil )
105+ let tmpFileSignature = fs. mktemp ( ext: " .sig " )
106+ try await fs. create ( file: tmpFileSignature, contents: nil )
107+ let keysFile = fs. mktemp ( ext: " .asc " )
108+ try await fs. create ( file: keysFile, contents: nil )
109+
110+ try await fs. withTemporary ( files: tmpFile, tmpFileSignature, keysFile) {
111+ let httpClient = SwiftlyHTTPClient ( httpRequestExecutor: HTTPRequestExecutorImpl ( ) )
112+
113+ let swiftlyURL = try #require( URL ( string: url) )
114+
115+ try await retry {
116+ try await httpClient. getSwiftlyRelease ( url: swiftlyURL) . download ( to: tmpFile)
117+ }
118+ }
119+ }
120+
85121 @Test ( . tags( . large) ) func getSwiftlyReleaseMetadataFromSwiftOrg( ) async throws {
86122 let httpClient = SwiftlyHTTPClient ( httpRequestExecutor: HTTPRequestExecutorImpl ( ) )
87123 do {
0 commit comments