@@ -53,7 +53,17 @@ import Testing
53
53
}
54
54
}
55
55
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 {
57
67
let tmpFile = fs. mktemp ( )
58
68
try await fs. create ( file: tmpFile, contents: nil )
59
69
let tmpFileSignature = fs. mktemp ( ext: " .sig " )
@@ -64,7 +74,7 @@ import Testing
64
74
try await fs. withTemporary ( files: tmpFile, tmpFileSignature, keysFile) {
65
75
let httpClient = SwiftlyHTTPClient ( httpRequestExecutor: HTTPRequestExecutorImpl ( ) )
66
76
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 ) )
68
78
69
79
try await retry {
70
80
try await httpClient. getSwiftlyRelease ( url: swiftlyURL) . download ( to: tmpFile)
@@ -82,6 +92,32 @@ import Testing
82
92
}
83
93
}
84
94
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
+
85
121
@Test ( . tags( . large) ) func getSwiftlyReleaseMetadataFromSwiftOrg( ) async throws {
86
122
let httpClient = SwiftlyHTTPClient ( httpRequestExecutor: HTTPRequestExecutorImpl ( ) )
87
123
do {
0 commit comments