@@ -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