Skip to content

Commit 22fbe6e

Browse files
committed
Force override the environment in testToolSearching
1 parent b5adc3d commit 22fbe6e

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6397,7 +6397,15 @@ final class SwiftDriverTests: XCTestCase {
63976397
}
63986398

63996399
func testToolSearching() throws {
6400-
var driver = try Driver(args: ["swiftc", "-print-target-info"])
6400+
#if os(Windows)
6401+
let PATH = "Path"
6402+
#else
6403+
let PATH = "PATH"
6404+
#endif
6405+
let SWIFT_FRONTEND_EXEC = "SWIFT_DRIVER_SWIFT_FRONTEND_EXEC"
6406+
6407+
// We need to override SWIFT_DRIVER_SWIFT_FRONTEND_EXEC to prevent it from interfering the tests.
6408+
var driver = try Driver(args: ["swiftc", "-print-target-info"], env: [PATH: ProcessEnv.path!])
64016409
let jobs = try driver.planBuild()
64026410
XCTAssertEqual(jobs.count, 1)
64036411
let defaultSwiftFrontend = jobs.first!.tool.absolutePath!
@@ -6406,38 +6414,32 @@ final class SwiftDriverTests: XCTestCase {
64066414
let customSwiftFrontend = toolsDirectory.appending(component: executableName("swift-frontend"))
64076415
try localFileSystem.createSymbolicLink(customSwiftFrontend, pointingAt: defaultSwiftFrontend, relative: false)
64086416

6409-
// test if PATH is searched
6410-
do {
6411-
var driver = try Driver(args: ["swiftc", "-print-target-info"], env: ["PATH": toolsDirectory.pathString])
6412-
let jobs = try driver.planBuild()
6413-
XCTAssertEqual(jobs.count, 1)
6414-
XCTAssertEqual(jobs.first!.tool.name, customSwiftFrontend.pathString)
6415-
}
6416-
64176417
try withTemporaryDirectory { tempDirectory in
64186418
try localFileSystem.changeCurrentWorkingDirectory(to: tempDirectory)
64196419
let anotherSwiftFrontend = localFileSystem.currentWorkingDirectory!.appending(component: executableName("swift-frontend"))
64206420
try localFileSystem.createSymbolicLink(anotherSwiftFrontend, pointingAt: defaultSwiftFrontend, relative: false)
64216421

64226422
// test if SWIFT_DRIVER_TOOLNAME_EXEC is respected
64236423
do {
6424-
var driver = try Driver(args: ["swiftc", "-print-target-info"], env: ["SWIFT_DRIVER_SWIFT_FRONTEND_EXEC": customSwiftFrontend.pathString, "PATH": ProcessEnv.path!])
6424+
var driver = try Driver(args: ["swiftc", "-print-target-info"],
6425+
env: [PATH: ProcessEnv.path!, SWIFT_FRONTEND_EXEC: customSwiftFrontend.pathString])
64256426
let jobs = try driver.planBuild()
64266427
XCTAssertEqual(jobs.count, 1)
64276428
XCTAssertEqual(jobs.first!.tool.name, customSwiftFrontend.pathString)
64286429
}
64296430

64306431
// test if tools directory is respected
64316432
do {
6432-
var driver = try Driver(args: ["swiftc", "-print-target-info", "-tools-directory", toolsDirectory.pathString])
6433+
var driver = try Driver(args: ["swiftc", "-print-target-info", "-tools-directory", toolsDirectory.pathString],
6434+
env: [PATH: ProcessEnv.path!])
64336435
let jobs = try driver.planBuild()
64346436
XCTAssertEqual(jobs.count, 1)
64356437
XCTAssertEqual(jobs.first!.tool.name, customSwiftFrontend.pathString)
64366438
}
64376439

64386440
// test if current working directory is searched before PATH
64396441
do {
6440-
var driver = try Driver(args: ["swiftc", "-print-target-info"], env: ["PATH": toolsDirectory.pathString])
6442+
var driver = try Driver(args: ["swiftc", "-print-target-info"], env: [PATH: toolsDirectory.pathString])
64416443
let jobs = try driver.planBuild()
64426444
XCTAssertEqual(jobs.count, 1)
64436445
XCTAssertEqual(jobs.first!.tool.name, anotherSwiftFrontend.pathString)

0 commit comments

Comments
 (0)