Skip to content

Commit f1d46ed

Browse files
committed
Add test for library search group in static linking
1 parent e9e0d48 commit f1d46ed

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1289,6 +1289,37 @@ final class SwiftDriverTests: XCTestCase {
12891289
XCTAssertFalse(cmd.contains(.flag("-dylib")))
12901290
XCTAssertFalse(cmd.contains(.flag("-static")))
12911291
XCTAssertFalse(cmd.contains(.flag("-shared")))
1292+
XCTAssertFalse(cmd.contains(.flag("--start-group")))
1293+
XCTAssertFalse(cmd.contains(.flag("--end-group")))
1294+
}
1295+
1296+
do {
1297+
// executable linking linux static stdlib
1298+
var driver = try Driver(args: commonArgs + ["-emit-executable", "-static-stdlib", "-target", "x86_64-unknown-linux"], env: env)
1299+
let plannedJobs = try driver.planBuild()
1300+
1301+
XCTAssertEqual(plannedJobs.count, 4)
1302+
1303+
let autolinkExtractJob = plannedJobs[2]
1304+
XCTAssertEqual(autolinkExtractJob.kind, .autolinkExtract)
1305+
1306+
let autolinkCmd = autolinkExtractJob.commandLine
1307+
XCTAssertTrue(autolinkCmd.contains(.path(.temporary(RelativePath("foo.o")))))
1308+
XCTAssertTrue(autolinkCmd.contains(.path(.temporary(RelativePath("bar.o")))))
1309+
XCTAssertTrue(autolinkCmd.contains(.path(.temporary(RelativePath("Test.autolink")))))
1310+
1311+
let linkJob = plannedJobs[3]
1312+
let cmd = linkJob.commandLine
1313+
XCTAssertTrue(cmd.contains(.flag("-o")))
1314+
XCTAssertTrue(cmd.contains(.path(.temporary(RelativePath("foo.o")))))
1315+
XCTAssertTrue(cmd.contains(.path(.temporary(RelativePath("bar.o")))))
1316+
XCTAssertTrue(cmd.contains(.flag("--start-group")))
1317+
XCTAssertTrue(cmd.contains(.flag("--end-group")))
1318+
XCTAssertEqual(linkJob.outputs[0].file, try VirtualPath(path: "Test"))
1319+
1320+
XCTAssertFalse(cmd.contains(.flag("-static")))
1321+
XCTAssertFalse(cmd.contains(.flag("-dylib")))
1322+
XCTAssertFalse(cmd.contains(.flag("-shared")))
12921323
}
12931324

12941325
do {

0 commit comments

Comments
 (0)