@@ -3536,7 +3536,9 @@ final class BuildPlanTests: XCTestCase {
3536
3536
toolset: . init(
3537
3537
knownTools: [
3538
3538
. cCompiler: . init( extraCLIOptions: [ " -I/fake/sdk/sysroot " , " -clang-flag-from-json " ] ) ,
3539
- . swiftCompiler: . init( extraCLIOptions: [ " -swift-flag-from-json " ] )
3539
+ . swiftCompiler: . init( extraCLIOptions: [ " -swift-flag-from-json " ] ) ,
3540
+ . librarian: . init( path: " /fake/toolchain/usr/bin/lib " ) ,
3541
+ . linker: . init( path: " /fake/toolchain/usr/bin/lnk " ) ,
3540
3542
] ,
3541
3543
rootPaths: try UserToolchain . default. destination. toolset. rootPaths
3542
3544
) ,
@@ -3567,7 +3569,18 @@ final class BuildPlanTests: XCTestCase {
3567
3569
XCTAssertMatch ( try lib. basicArguments ( isCXX: false ) , args)
3568
3570
3569
3571
let exe = try result. target ( for: " exe " ) . swiftTarget ( ) . compileArguments ( )
3570
- XCTAssertMatch ( exe, [ " -module-cache-path " , " \( buildPath. appending ( components: " ModuleCache " ) ) " , . anySequence, " -swift-flag-from-json " , " -g " , " -swift-command-line-flag " , . anySequence, " -Xcc " , " -clang-flag-from-json " , " -Xcc " , " -g " , " -Xcc " , " -clang-command-line-flag " ] )
3572
+ XCTAssertMatch ( exe, [
3573
+ " -module-cache-path " ,
3574
+ " \( buildPath. appending ( components: " ModuleCache " ) ) " ,
3575
+ . anySequence,
3576
+ " -swift-flag-from-json " ,
3577
+ . anySequence,
3578
+ " -swift-command-line-flag " ,
3579
+ . anySequence,
3580
+ " -Xcc " , " -clang-flag-from-json " ,
3581
+ . anySequence,
3582
+ " -Xcc " , " -clang-command-line-flag "
3583
+ ] )
3571
3584
}
3572
3585
3573
3586
func testUserToolchainWithToolsetCompileFlags( ) throws {
@@ -3757,7 +3770,11 @@ final class BuildPlanTests: XCTestCase {
3757
3770
properties: . init(
3758
3771
sdkRootPath: " /fake/sdk " ,
3759
3772
includeSearchPaths: [ sdkIncludeSearchPath] ,
3760
- librarySearchPaths: [ sdkLibrarySearchPath] ) )
3773
+ librarySearchPaths: [ sdkLibrarySearchPath] ) ,
3774
+ toolset: . init( knownTools: [
3775
+ . librarian: . init( path: " /fake/toolchain/bin/lib " ) ,
3776
+ . linker: . init( path: " /fake/toolchain/bin/lnk " ) ,
3777
+ ] ) )
3761
3778
let toolchain = try UserToolchain ( destination: destination)
3762
3779
let buildParameters = mockBuildParameters ( toolchain: toolchain)
3763
3780
let result = try BuildPlanResult ( plan: BuildPlan (
@@ -3770,17 +3787,17 @@ final class BuildPlanTests: XCTestCase {
3770
3787
3771
3788
// Compile C Target
3772
3789
let cLibCompileArguments = try result. target ( for: " cLib " ) . clangTarget ( ) . basicArguments ( isCXX: false )
3773
- let cLibCompileArgumentsPattern : [ StringPattern ] = [ " -I " , " \( sdkIncludeSearchPath) " ]
3790
+ let cLibCompileArgumentsPattern : [ StringPattern ] = [ " -I " , " \( AbsolutePath ( sdkIncludeSearchPath) . _nativePathString ( escaped : false ) ) " ]
3774
3791
XCTAssertMatch ( cLibCompileArguments, cLibCompileArgumentsPattern)
3775
3792
3776
3793
// Compile Swift Target
3777
3794
let exeCompileArguments = try result. target ( for: " exe " ) . swiftTarget ( ) . compileArguments ( )
3778
- let exeCompileArgumentsPattern : [ StringPattern ] = [ " -I " , " \( sdkIncludeSearchPath) " ]
3795
+ let exeCompileArgumentsPattern : [ StringPattern ] = [ " -I " , " \( AbsolutePath ( sdkIncludeSearchPath) . _nativePathString ( escaped : false ) ) " ]
3779
3796
XCTAssertMatch ( exeCompileArguments, exeCompileArgumentsPattern)
3780
3797
3781
3798
// Link Product
3782
3799
let exeLinkArguments = try result. buildProduct ( for: " exe " ) . linkArguments ( )
3783
- let exeLinkArgumentsPattern : [ StringPattern ] = [ " -L " , " \( sdkIncludeSearchPath) " ]
3800
+ let exeLinkArgumentsPattern : [ StringPattern ] = [ " -L " , " \( AbsolutePath ( sdkIncludeSearchPath) . _nativePathString ( escaped : false ) ) " ]
3784
3801
XCTAssertMatch ( exeLinkArguments, exeLinkArgumentsPattern)
3785
3802
}
3786
3803
@@ -4750,7 +4767,7 @@ final class BuildPlanTests: XCTestCase {
4750
4767
4751
4768
let yamlContents : String = try fs. readFileContents ( yaml)
4752
4769
XCTAssertMatch ( yamlContents, . contains( """
4753
- inputs: [ " /Pkg/Snippets/ASnippet.swift " , " /Pkg/.build/debug/Lib.swiftmodule "
4770
+ inputs: [ " \( AbsolutePath ( " /Pkg/Snippets/ASnippet.swift " ) . _nativePathString ( escaped : true ) ) " , " \( AbsolutePath ( " /Pkg/.build/debug/Lib.swiftmodule " ) . _nativePathString ( escaped : true ) ) "
4754
4771
""" ) )
4755
4772
4756
4773
}
0 commit comments