Skip to content

Commit 0cdfd40

Browse files
committed
Add rpath to test runner binaries to find adjacent test dylib
1 parent 8b1cfc9 commit 0cdfd40

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

Sources/SwiftBuildSupport/PackagePIFProjectBuilder+Products.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1022,6 +1022,13 @@ extension PackagePIFProjectBuilder {
10221022
// This should eventually be set universally for all package targets/products.
10231023
settings[.LINKER_DRIVER] = "swiftc"
10241024

1025+
// A test-runner should always be adjacent to the dynamic library containing the tests,
1026+
// so add the appropriate rpaths.
1027+
settings[.LD_RUNPATH_SEARCH_PATHS] = [
1028+
"$(inherited)",
1029+
"$(RPATH_ORIGIN)"
1030+
]
1031+
10251032
let deploymentTargets = unitTestProduct.deploymentTargets
10261033
settings[.MACOSX_DEPLOYMENT_TARGET] = deploymentTargets?[.macOS] ?? nil
10271034
settings[.IPHONEOS_DEPLOYMENT_TARGET] = deploymentTargets?[.iOS] ?? nil

Tests/CommandsTests/TestCommandTests.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -663,8 +663,7 @@ struct TestCommandTests {
663663
}
664664
}
665665
} when: {
666-
(buildSystem == .swiftbuild && .linux == ProcessInfo.hostOperatingSystem)
667-
|| ProcessInfo.hostOperatingSystem == .windows
666+
ProcessInfo.hostOperatingSystem == .windows
668667
}
669668
}
670669

@@ -1011,7 +1010,7 @@ struct TestCommandTests {
10111010
)
10121011
}
10131012
} when: {
1014-
buildSystem == .swiftbuild && ProcessInfo.hostOperatingSystem != .macOS
1013+
buildSystem == .swiftbuild && ProcessInfo.hostOperatingSystem == .windows
10151014
}
10161015
}
10171016

0 commit comments

Comments
 (0)