Skip to content

Commit dffa61d

Browse files
authored
Merge pull request #1084 from compnerd/normalization
Tests: adjust tests for improvements to path normalization in TSC
2 parents 76d82a4 + 6d447fc commit dffa61d

File tree

3 files changed

+46
-36
lines changed

3 files changed

+46
-36
lines changed

Tests/SwiftDriverTests/JobExecutorTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ final class JobExecutorTests: XCTestCase {
388388
inputs: [], primaryInputs: [], outputs: [])
389389
#if os(Windows)
390390
XCTAssertEqual(try executor.description(of: job, forceResponseFiles: false),
391-
#""/path/to/the tool" "/with space" /withoutspace"#)
391+
#""\path\to\the tool" "\with space" \withoutspace"#)
392392
#else
393393
XCTAssertEqual(try executor.description(of: job, forceResponseFiles: false),
394394
"'/path/to/the tool' '/with space' /withoutspace")

Tests/SwiftDriverTests/NonincrementalCompilationTests.swift

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -217,19 +217,19 @@ final class NonincrementalCompilationTests: XCTestCase {
217217
func testReadAndWriteBuildRecord() throws {
218218
let version = "Apple Swift version 5.1 (swiftlang-1100.0.270.13 clang-1100.0.33.7)"
219219
let options = "abbbfbcaf36b93e58efaadd8271ff142"
220-
let file2 = "/Volumes/AS/repos/swift-driver/sandbox/sandbox/sandbox/file2.swift"
221-
let main = "/Volumes/AS/repos/swift-driver/sandbox/sandbox/sandbox/main.swift"
222-
let gazorp = "/Volumes/gazorp.swift"
220+
let file2: AbsolutePath = AbsolutePath("/Volumes/AS/repos/swift-driver/sandbox/sandbox/sandbox/file2.swift")
221+
let main: AbsolutePath = AbsolutePath("/Volumes/AS/repos/swift-driver/sandbox/sandbox/sandbox/main.swift")
222+
let gazorp: AbsolutePath = AbsolutePath("/Volumes/gazorp.swift")
223223
let inputString =
224224
"""
225225
version: "\(version)"
226226
options: "\(options)"
227227
build_start_time: [1570318779, 32357931]
228228
build_end_time: [1580318779, 33357858]
229229
inputs:
230-
"\(file2)": !dirty [1570318778, 0]
231-
"\(main)": [1570083660, 0]
232-
"\(gazorp)": !private [0, 0]
230+
"\(file2.nativePathString(escaped: true))": !dirty [1570318778, 0]
231+
"\(main.nativePathString(escaped: true))": [1570083660, 0]
232+
"\(gazorp.nativePathString(escaped: true))": !private [0, 0]
233233
234234
"""
235235
let buildRecord = try XCTUnwrap (BuildRecord(contents: inputString, failedToReadOutOfDateMap: {_ in}))
@@ -241,20 +241,20 @@ final class NonincrementalCompilationTests: XCTestCase {
241241
XCTAssert(isCloseEnough(buildRecord.buildEndTime.legacyDriverSecsAndNanos,
242242
[1580318779, 33357941]))
243243

244-
XCTAssertEqual(try! buildRecord.inputInfos[VirtualPath(path: file2 )]!.status,
244+
XCTAssertEqual(try! buildRecord.inputInfos[VirtualPath(path: file2.pathString)]!.status,
245245
.needsCascadingBuild)
246246
XCTAssert(try! isCloseEnough(
247-
XCTUnwrap(buildRecord.inputInfos[VirtualPath(path: file2 )])
247+
XCTUnwrap(buildRecord.inputInfos[VirtualPath(path: file2.pathString)])
248248
.previousModTime.legacyDriverSecsAndNanos,
249249
[1570318778, 0]))
250-
XCTAssertEqual(try! XCTUnwrap(buildRecord.inputInfos[VirtualPath(path: gazorp)]).status,
250+
XCTAssertEqual(try! XCTUnwrap(buildRecord.inputInfos[VirtualPath(path: gazorp.pathString)]).status,
251251
.needsNonCascadingBuild)
252-
XCTAssertEqual(try! XCTUnwrap(buildRecord.inputInfos[VirtualPath(path: gazorp)])
252+
XCTAssertEqual(try! XCTUnwrap(buildRecord.inputInfos[VirtualPath(path: gazorp.pathString)])
253253
.previousModTime.legacyDriverSecsAndNanos,
254254
[0, 0])
255-
XCTAssertEqual(try! XCTUnwrap(buildRecord.inputInfos[VirtualPath(path: main )]).status,
255+
XCTAssertEqual(try! XCTUnwrap(buildRecord.inputInfos[VirtualPath(path: main.pathString)]).status,
256256
.upToDate)
257-
XCTAssert(try! isCloseEnough(XCTUnwrap(buildRecord.inputInfos[VirtualPath(path: main )])
257+
XCTAssert(try! isCloseEnough(XCTUnwrap(buildRecord.inputInfos[VirtualPath(path: main.pathString)])
258258
.previousModTime.legacyDriverSecsAndNanos,
259259
[1570083660, 0]))
260260

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 33 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -768,16 +768,19 @@ final class SwiftDriverTests: XCTestCase {
768768
}
769769

770770
func testOutputFileMapLoading() throws {
771+
let objroot: AbsolutePath =
772+
AbsolutePath("/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build")
773+
771774
let contents = """
772775
{
773776
"": {
774-
"swift-dependencies": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/master.swiftdeps"
777+
"swift-dependencies": "\(objroot.appending(components: "master.swiftdeps").nativePathString(escaped: true))"
775778
},
776779
"/tmp/foo/Sources/foo/foo.swift": {
777-
"dependencies": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo.d",
778-
"object": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo.swift.o",
779-
"swiftmodule": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo~partial.swiftmodule",
780-
"swift-dependencies": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo.swiftdeps"
780+
"dependencies": "\(objroot.appending(components: "foo.d").nativePathString(escaped: true))",
781+
"object": "\(objroot.appending(components: "foo.swift.o").nativePathString(escaped: true))",
782+
"swiftmodule": "\(objroot.appending(components: "foo~partial.swiftmodule").nativePathString(escaped: true))",
783+
"swift-dependencies": "\(objroot.appending(components: "foo.swiftdeps").nativePathString(escaped: true))"
781784
}
782785
}
783786
"""
@@ -788,26 +791,29 @@ final class SwiftDriverTests: XCTestCase {
788791
let outputFileMap = try OutputFileMap.load(fileSystem: localFileSystem, file: .absolute(file.path), diagnosticEngine: diags)
789792

790793
let object = try outputFileMap.getOutput(inputFile: VirtualPath.intern(path: "/tmp/foo/Sources/foo/foo.swift"), outputType: .object)
791-
XCTAssertEqual(VirtualPath.lookup(object).name, "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo.swift.o")
794+
XCTAssertEqual(VirtualPath.lookup(object).name, objroot.appending(components: "foo.swift.o").pathString)
792795

793796
let masterDeps = try outputFileMap.getOutput(inputFile: VirtualPath.intern(path: ""), outputType: .swiftDeps)
794-
XCTAssertEqual(VirtualPath.lookup(masterDeps).name, "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/master.swiftdeps")
797+
XCTAssertEqual(VirtualPath.lookup(masterDeps).name, objroot.appending(components: "master.swiftdeps").pathString)
795798
}
796799
}
797800
}
798801

799802
func testFindingObjectPathFromllvmBCPath() throws {
803+
let objroot: AbsolutePath =
804+
AbsolutePath("/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build")
805+
800806
let contents = """
801807
{
802808
"": {
803-
"swift-dependencies": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/master.swiftdeps"
809+
"swift-dependencies": "\(objroot.appending(components: "master.swiftdeps").nativePathString(escaped: true))"
804810
},
805811
"/tmp/foo/Sources/foo/foo.swift": {
806-
"dependencies": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo.d",
807-
"object": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo.swift.o",
808-
"swiftmodule": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo~partial.swiftmodule",
809-
"swift-dependencies": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo.swiftdeps",
810-
"llvm-bc": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo.swift.bc"
812+
"dependencies": "\(objroot.appending(components: "foo.d").nativePathString(escaped: true))",
813+
"object": "\(objroot.appending(components: "foo.swift.o").nativePathString(escaped: true))",
814+
"swiftmodule": "\(objroot.appending(components: "foo~partial.swiftmodule").nativePathString(escaped: true))",
815+
"swift-dependencies": "\(objroot.appending(components: "foo.swiftdeps").nativePathString(escaped: true))",
816+
"llvm-bc": "\(objroot.appending(components: "foo.swift.bc").nativePathString(escaped: true))"
811817
}
812818
}
813819
"""
@@ -817,22 +823,25 @@ final class SwiftDriverTests: XCTestCase {
817823
let outputFileMap = try OutputFileMap.load(fileSystem: localFileSystem, file: .absolute(file.path), diagnosticEngine: diags)
818824

819825
let obj = try outputFileMap.getOutput(inputFile: VirtualPath.intern(path: "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo.swift.bc"), outputType: .object)
820-
XCTAssertEqual(VirtualPath.lookup(obj).name, "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo.swift.o")
826+
XCTAssertEqual(VirtualPath.lookup(obj).name, objroot.appending(components: "foo.swift.o").pathString)
821827
}
822828
}
823829
}
824830

825831
func testOutputFileMapLoadingDocAndSourceinfo() throws {
832+
let objroot: AbsolutePath =
833+
AbsolutePath("/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build")
834+
826835
let contents = """
827836
{
828837
"": {
829-
"swift-dependencies": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/master.swiftdeps"
838+
"swift-dependencies": "\(objroot.appending(components: "master.swiftdeps").nativePathString(escaped: true))"
830839
},
831840
"/tmp/foo/Sources/foo/foo.swift": {
832-
"dependencies": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo.d",
833-
"object": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo.swift.o",
834-
"swiftmodule": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo~partial.swiftmodule",
835-
"swift-dependencies": "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo.swiftdeps"
841+
"dependencies": "\(objroot.appending(components: "foo.d").nativePathString(escaped: true))",
842+
"object": "\(objroot.appending(components: "foo.swift.o").nativePathString(escaped: true))",
843+
"swiftmodule": "\(objroot.appending(components: "foo~partial.swiftmodule").nativePathString(escaped: true))",
844+
"swift-dependencies": "\(objroot.appending(components: "foo.swiftdeps").nativePathString(escaped: true))"
836845
}
837846
}
838847
"""
@@ -843,10 +852,10 @@ final class SwiftDriverTests: XCTestCase {
843852
let outputFileMap = try OutputFileMap.load(fileSystem: localFileSystem, file: .absolute(file.path), diagnosticEngine: diags)
844853

845854
let doc = try outputFileMap.getOutput(inputFile: VirtualPath.intern(path: "/tmp/foo/Sources/foo/foo.swift"), outputType: .swiftDocumentation)
846-
XCTAssertEqual(VirtualPath.lookup(doc).name, "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo~partial.swiftdoc")
855+
XCTAssertEqual(VirtualPath.lookup(doc).name, objroot.appending(components: "foo~partial.swiftdoc").pathString)
847856

848857
let source = try outputFileMap.getOutput(inputFile: VirtualPath.intern(path: "/tmp/foo/Sources/foo/foo.swift"), outputType: .swiftSourceInfoFile)
849-
XCTAssertEqual(VirtualPath.lookup(source).name, "/tmp/foo/.build/x86_64-apple-macosx/debug/foo.build/foo~partial.swiftsourceinfo")
858+
XCTAssertEqual(VirtualPath.lookup(source).name, objroot.appending(components: "foo~partial.swiftsourceinfo").pathString)
850859
}
851860
}
852861
}
@@ -5781,14 +5790,15 @@ final class SwiftDriverTests: XCTestCase {
57815790
// FIXME: On Linux, we might not have any Clang in the path. We need a
57825791
// better override.
57835792
var env = ProcessEnv.vars
5784-
env["SWIFT_DRIVER_SWIFT_HELP_EXEC"] = "/usr/bin/nonexistent-swift-help"
5793+
let swiftHelp: AbsolutePath = AbsolutePath("/usr/bin/nonexistent-swift-help")
5794+
env["SWIFT_DRIVER_SWIFT_HELP_EXEC"] = swiftHelp.pathString
57855795
env["SWIFT_DRIVER_CLANG_EXEC"] = "/usr/bin/clang"
57865796
var driver = try Driver(
57875797
args: ["swiftc", "-help"],
57885798
env: env)
57895799
let jobs = try driver.planBuild()
57905800
XCTAssert(jobs.count == 1)
5791-
XCTAssertEqual(jobs.first!.tool.name, "/usr/bin/nonexistent-swift-help")
5801+
XCTAssertEqual(jobs.first!.tool.name, swiftHelp.pathString)
57925802
}
57935803

57945804
func testSourceInfoFileEmitOption() throws {

0 commit comments

Comments
 (0)