@@ -2100,10 +2100,42 @@ final class SwiftDriverTests: XCTestCase {
2100
2100
XCTAssertFalse ( cmd. contains ( . flag( " -dylib " ) ) )
2101
2101
XCTAssertFalse ( cmd. contains ( . flag( " -shared " ) ) )
2102
2102
}
2103
+
2104
+ do {
2105
+ // executable linking linux static stdlib with musl
2106
+ var driver = try Driver ( args: commonArgs + [
2107
+ " -emit-executable " , " -Osize " , " -static-stdlib " , " -static-executable " , " -target " , " x86_64-unknown-linux-musl "
2108
+ ] , env: env)
2109
+ let plannedJobs = try driver. planBuild ( )
2110
+
2111
+ XCTAssertEqual ( plannedJobs. count, 4 )
2112
+
2113
+ let autolinkExtractJob = plannedJobs [ 2 ]
2114
+ XCTAssertEqual ( autolinkExtractJob. kind, . autolinkExtract)
2115
+
2116
+ let autolinkCmd = autolinkExtractJob. commandLine
2117
+ XCTAssertTrue ( commandContainsTemporaryPath ( autolinkCmd, " foo.o " ) )
2118
+ XCTAssertTrue ( commandContainsTemporaryPath ( autolinkCmd, " bar.o " ) )
2119
+ XCTAssertTrue ( commandContainsTemporaryPath ( autolinkCmd, " Test.autolink " ) )
2120
+
2121
+ let linkJob = plannedJobs [ 3 ]
2122
+ let cmd = linkJob. commandLine
2123
+ XCTAssertTrue ( cmd. contains ( . flag( " -o " ) ) )
2124
+ XCTAssertTrue ( commandContainsTemporaryPath ( cmd, " foo.o " ) )
2125
+ XCTAssertTrue ( commandContainsTemporaryPath ( cmd, " bar.o " ) )
2126
+ XCTAssertTrue ( cmd. contains ( . flag( " --start-group " ) ) )
2127
+ XCTAssertTrue ( cmd. contains ( . flag( " --end-group " ) ) )
2128
+ XCTAssertTrue ( cmd. contains ( . flag( " -Os " ) ) )
2129
+ XCTAssertTrue ( cmd. contains ( . flag( " -static " ) ) )
2130
+ XCTAssertEqual ( linkJob. outputs [ 0 ] . file, try VirtualPath ( path: " Test " ) )
2131
+
2132
+ XCTAssertFalse ( cmd. contains ( . flag( " -dylib " ) ) )
2133
+ XCTAssertFalse ( cmd. contains ( . flag( " -shared " ) ) )
2134
+ }
2103
2135
#endif
2104
2136
2105
2137
do {
2106
- // static WASM linking
2138
+ // static Wasm linking
2107
2139
var driver = try Driver ( args: commonArgs + [ " -emit-library " , " -static " , " -target " , " wasm32-unknown-wasi " ] , env: env)
2108
2140
let plannedJobs = try driver. planBuild ( )
2109
2141
@@ -2135,7 +2167,7 @@ final class SwiftDriverTests: XCTestCase {
2135
2167
try withTemporaryDirectory { path in
2136
2168
try localFileSystem. writeFileContents (
2137
2169
path. appending ( components: " wasi " , " static-executable-args.lnk " ) ) { $0 <<< " garbage " }
2138
- // WASM executable linking
2170
+ // Wasm executable linking
2139
2171
var driver = try Driver ( args: commonArgs + [ " -emit-executable " , " -Ounchecked " ,
2140
2172
" -target " , " wasm32-unknown-wasi " ,
2141
2173
" -resource-dir " , path. pathString,
0 commit comments