@@ -768,16 +768,19 @@ final class SwiftDriverTests: XCTestCase {
768
768
}
769
769
770
770
func testOutputFileMapLoading( ) throws {
771
+ let objroot : AbsolutePath =
772
+ AbsolutePath ( " /tmp/foo/.build/x86_64-apple-macosx/debug/foo.build " )
773
+
771
774
let contents = """
772
775
{
773
776
" " : {
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 ) ) "
775
778
},
776
779
" /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 ) ) "
781
784
}
782
785
}
783
786
"""
@@ -788,26 +791,29 @@ final class SwiftDriverTests: XCTestCase {
788
791
let outputFileMap = try OutputFileMap . load ( fileSystem: localFileSystem, file: . absolute( file. path) , diagnosticEngine: diags)
789
792
790
793
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 )
792
795
793
796
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 )
795
798
}
796
799
}
797
800
}
798
801
799
802
func testFindingObjectPathFromllvmBCPath( ) throws {
803
+ let objroot : AbsolutePath =
804
+ AbsolutePath ( " /tmp/foo/.build/x86_64-apple-macosx/debug/foo.build " )
805
+
800
806
let contents = """
801
807
{
802
808
" " : {
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 ) ) "
804
810
},
805
811
" /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 ) ) "
811
817
}
812
818
}
813
819
"""
@@ -817,22 +823,25 @@ final class SwiftDriverTests: XCTestCase {
817
823
let outputFileMap = try OutputFileMap . load ( fileSystem: localFileSystem, file: . absolute( file. path) , diagnosticEngine: diags)
818
824
819
825
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 )
821
827
}
822
828
}
823
829
}
824
830
825
831
func testOutputFileMapLoadingDocAndSourceinfo( ) throws {
832
+ let objroot : AbsolutePath =
833
+ AbsolutePath ( " /tmp/foo/.build/x86_64-apple-macosx/debug/foo.build " )
834
+
826
835
let contents = """
827
836
{
828
837
" " : {
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 ) ) "
830
839
},
831
840
" /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 ) ) "
836
845
}
837
846
}
838
847
"""
@@ -843,10 +852,10 @@ final class SwiftDriverTests: XCTestCase {
843
852
let outputFileMap = try OutputFileMap . load ( fileSystem: localFileSystem, file: . absolute( file. path) , diagnosticEngine: diags)
844
853
845
854
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 )
847
856
848
857
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 )
850
859
}
851
860
}
852
861
}
@@ -5781,14 +5790,15 @@ final class SwiftDriverTests: XCTestCase {
5781
5790
// FIXME: On Linux, we might not have any Clang in the path. We need a
5782
5791
// better override.
5783
5792
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
5785
5795
env [ " SWIFT_DRIVER_CLANG_EXEC " ] = " /usr/bin/clang "
5786
5796
var driver = try Driver (
5787
5797
args: [ " swiftc " , " -help " ] ,
5788
5798
env: env)
5789
5799
let jobs = try driver. planBuild ( )
5790
5800
XCTAssert ( jobs. count == 1 )
5791
- XCTAssertEqual ( jobs. first!. tool. name, " /usr/bin/nonexistent-swift-help " )
5801
+ XCTAssertEqual ( jobs. first!. tool. name, swiftHelp . pathString )
5792
5802
}
5793
5803
5794
5804
func testSourceInfoFileEmitOption( ) throws {
0 commit comments