@@ -1528,7 +1528,7 @@ final class SwiftDriverTests: XCTestCase {
15281528 XCTAssertEqual ( plannedJobs [ 2 ] . outputs. first!. file, VirtualPath . temporary ( RelativePath ( " foo5.o " ) ) )
15291529 XCTAssertTrue ( plannedJobs [ 3 ] . tool. name. contains ( driver1. targetTriple. isDarwin ? " ld " : " clang " ) )
15301530 XCTAssertEqual ( plannedJobs [ 3 ] . outputs. count, 1 )
1531- XCTAssertEqual ( plannedJobs [ 3 ] . outputs. first!. file, VirtualPath . relative ( RelativePath ( " Test " ) ) )
1531+ XCTAssertEqual ( plannedJobs [ 3 ] . outputs. first!. file, VirtualPath . relative ( RelativePath ( " Test \( executableFileSuffix ) " ) ) )
15321532 }
15331533
15341534 // Test 1 partition results in 1 job
@@ -1812,28 +1812,33 @@ final class SwiftDriverTests: XCTestCase {
18121812 }
18131813
18141814 func testEmitModuleSeparately( ) throws {
1815+ #if os(Windows)
1816+ let foobar = " C: \\ foo \\ bar \\ "
1817+ #else
1818+ let foobar = " /foo/bar/ "
1819+ #endif
18151820 do {
1816- var driver = try Driver ( args: [ " swiftc " , " foo.swift " , " bar.swift " , " -module-name " , " Test " , " -emit-module-path " , " /foo/bar/ Test.swiftmodule" , " -experimental-emit-module-separately " , " -emit-library " , " -target " , " x86_64-apple-macosx10.15 " ] )
1821+ var driver = try Driver ( args: [ " swiftc " , " foo.swift " , " bar.swift " , " -module-name " , " Test " , " -emit-module-path " , " \( foobar ) Test.swiftmodule " , " -experimental-emit-module-separately " , " -emit-library " ] )
18171822 let plannedJobs = try driver. planBuild ( )
18181823 XCTAssertEqual ( plannedJobs. count, 4 )
18191824 XCTAssertTrue ( plannedJobs [ 0 ] . tool. name. contains ( " swift " ) )
18201825 XCTAssertEqual ( plannedJobs [ 0 ] . outputs. count, 3 )
1821- XCTAssertEqual ( plannedJobs [ 0 ] . outputs [ 0 ] . file, . absolute( AbsolutePath ( " /foo/bar/ Test.swiftmodule" ) ) )
1822- XCTAssertEqual ( plannedJobs [ 0 ] . outputs [ 1 ] . file, . absolute( AbsolutePath ( " /foo/bar/ Test.swiftdoc" ) ) )
1823- XCTAssertEqual ( plannedJobs [ 0 ] . outputs [ 2 ] . file, . absolute( AbsolutePath ( " /foo/bar/ Test.swiftsourceinfo" ) ) )
1826+ XCTAssertEqual ( plannedJobs [ 0 ] . outputs [ 0 ] . file, . absolute( AbsolutePath ( " \( foobar ) Test.swiftmodule " ) ) )
1827+ XCTAssertEqual ( plannedJobs [ 0 ] . outputs [ 1 ] . file, . absolute( AbsolutePath ( " \( foobar ) Test.swiftdoc " ) ) )
1828+ XCTAssertEqual ( plannedJobs [ 0 ] . outputs [ 2 ] . file, . absolute( AbsolutePath ( " \( foobar ) Test.swiftsourceinfo " ) ) )
18241829 }
18251830
18261831 do {
18271832 // We don't expect partial jobs when asking only for the swiftmodule with
18281833 // -experimental-emit-module-separately.
1829- var driver = try Driver ( args: [ " swiftc " , " foo.swift " , " bar.swift " , " -module-name " , " Test " , " -emit-module-path " , " /foo/bar/ Test.swiftmodule" , " -experimental-emit-module-separately " ] )
1834+ var driver = try Driver ( args: [ " swiftc " , " foo.swift " , " bar.swift " , " -module-name " , " Test " , " -emit-module-path " , " \( foobar ) Test.swiftmodule " , " -experimental-emit-module-separately " ] )
18301835 let plannedJobs = try driver. planBuild ( )
18311836 XCTAssertEqual ( plannedJobs. count, 1 )
18321837 XCTAssertTrue ( plannedJobs [ 0 ] . tool. name. contains ( " swift " ) )
18331838 XCTAssertEqual ( plannedJobs [ 0 ] . outputs. count, 3 )
1834- XCTAssertEqual ( plannedJobs [ 0 ] . outputs [ 0 ] . file, . absolute( AbsolutePath ( " /foo/bar/ Test.swiftmodule" ) ) )
1835- XCTAssertEqual ( plannedJobs [ 0 ] . outputs [ 1 ] . file, . absolute( AbsolutePath ( " /foo/bar/ Test.swiftdoc" ) ) )
1836- XCTAssertEqual ( plannedJobs [ 0 ] . outputs [ 2 ] . file, . absolute( AbsolutePath ( " /foo/bar/ Test.swiftsourceinfo" ) ) )
1839+ XCTAssertEqual ( plannedJobs [ 0 ] . outputs [ 0 ] . file, . absolute( AbsolutePath ( " \( foobar ) Test.swiftmodule " ) ) )
1840+ XCTAssertEqual ( plannedJobs [ 0 ] . outputs [ 1 ] . file, . absolute( AbsolutePath ( " \( foobar ) Test.swiftdoc " ) ) )
1841+ XCTAssertEqual ( plannedJobs [ 0 ] . outputs [ 2 ] . file, . absolute( AbsolutePath ( " \( foobar ) Test.swiftsourceinfo " ) ) )
18371842 }
18381843 }
18391844
@@ -2352,6 +2357,9 @@ final class SwiftDriverTests: XCTestCase {
23522357
23532358 // Test cases ported from Driver/macabi-environment.swift
23542359 func testDarwinSDKVersioning( ) throws {
2360+ #if os(Windows)
2361+ throw XCTSkip ( " currently unable to build against Darwin SDK on Windows " )
2362+ #endif
23552363 try withTemporaryDirectory { tmpDir in
23562364 let sdk1 = tmpDir. appending ( component: " MacOSX10.15.versioned.sdk " )
23572365 try localFileSystem. writeFileContents ( sdk1. appending ( component: " SDKSettings.json " ) ) {
@@ -2509,6 +2517,9 @@ final class SwiftDriverTests: XCTestCase {
25092517 }
25102518
25112519 func testDarwinLinkerPlatformVersion( ) throws {
2520+ #if os(Windows)
2521+ throw XCTSkip ( " currently unable to build against Darwin SDK on Windows " )
2522+ #endif
25122523 do {
25132524 var driver = try Driver ( args: [ " swiftc " ,
25142525 " -target " , " x86_64-apple-macos10.15 " ,
@@ -2680,11 +2691,11 @@ final class SwiftDriverTests: XCTestCase {
26802691 XCTAssertEqual ( plannedJobs. count, 5 )
26812692 XCTAssertEqual ( generateDSYMJob. outputs. last? . file, try VirtualPath ( path: " Test.dSYM " ) )
26822693 } else {
2683- XCTAssertEqual ( plannedJobs. count, 6 )
2694+ XCTAssertEqual ( plannedJobs. count, driver . targetTriple . isWindows ? 5 : 6 )
26842695 XCTAssertFalse ( plannedJobs. map { $0. kind } . contains ( . generateDSYM) )
26852696 }
26862697
2687- XCTAssertTrue ( cmd. contains ( . path( try VirtualPath ( path: " Test " ) ) ) )
2698+ XCTAssertTrue ( cmd. contains ( . path( try VirtualPath ( path: " Test \( executableFileSuffix ) " ) ) ) )
26882699 }
26892700 }
26902701
@@ -2866,23 +2877,23 @@ final class SwiftDriverTests: XCTestCase {
28662877 XCTAssertEqual ( output,
28672878 """
28682879 digraph Jobs {
2869- " compile (swift-frontend) " [style=bold];
2880+ " compile (swift-frontend \( executableFileSuffix ) ) " [style=bold];
28702881 " test.swift " [fontsize=12];
2871- " test.swift " -> " compile (swift-frontend) " [color=blue];
2882+ " test.swift " -> " compile (swift-frontend \( executableFileSuffix ) ) " [color=blue];
28722883 " test.o " [fontsize=12];
2873- " compile (swift-frontend) " -> " test.o " [color=green];
2884+ " compile (swift-frontend \( executableFileSuffix ) ) " -> " test.o " [color=green];
28742885 " test.swiftmodule " [fontsize=12];
2875- " compile (swift-frontend) " -> " test.swiftmodule " [color=green];
2886+ " compile (swift-frontend \( executableFileSuffix ) ) " -> " test.swiftmodule " [color=green];
28762887 " test.swiftdoc " [fontsize=12];
2877- " compile (swift-frontend) " -> " test.swiftdoc " [color=green];
2878- " mergeModule (swift-frontend) " [style=bold];
2879- " test.swiftmodule " -> " mergeModule (swift-frontend) " [color=blue];
2880- " mergeModule (swift-frontend) " -> " test.swiftmodule " [color=green];
2881- " mergeModule (swift-frontend) " -> " test.swiftdoc " [color=green];
2882- " link ( \( dynamicLinker) ) " [style=bold];
2883- " test.o " -> " link ( \( dynamicLinker) ) " [color=blue];
2884- " test " [fontsize=12];
2885- " link ( \( dynamicLinker) ) " -> " test " [color=green];
2888+ " compile (swift-frontend \( executableFileSuffix ) ) " -> " test.swiftdoc " [color=green];
2889+ " mergeModule (swift-frontend \( executableFileSuffix ) ) " [style=bold];
2890+ " test.swiftmodule " -> " mergeModule (swift-frontend \( executableFileSuffix ) ) " [color=blue];
2891+ " mergeModule (swift-frontend \( executableFileSuffix ) ) " -> " test.swiftmodule " [color=green];
2892+ " mergeModule (swift-frontend \( executableFileSuffix ) ) " -> " test.swiftdoc " [color=green];
2893+ " link ( \( dynamicLinker) \( executableFileSuffix ) ) " [style=bold];
2894+ " test.o " -> " link ( \( dynamicLinker) \( executableFileSuffix ) ) " [color=blue];
2895+ " test \( executableFileSuffix ) " [fontsize=12];
2896+ " link ( \( dynamicLinker) \( executableFileSuffix ) ) " -> " test \( executableFileSuffix ) " [color=green];
28862897 }
28872898
28882899 """ )
@@ -4108,15 +4119,28 @@ final class SwiftDriverTests: XCTestCase {
41084119
41094120 func testFrontendTargetInfoWithWorkingDirectory( ) throws {
41104121 do {
4122+ #if os(Windows)
4123+ var driver = try Driver ( args: [ " swiftc " , " -typecheck " , " foo.swift " ,
4124+ " -resource-dir " , " resource/dir " ,
4125+ " -sdk " , " sdk " ,
4126+ " -working-directory " , " C: \\ absolute \\ path " ] )
4127+ #else
41114128 var driver = try Driver ( args: [ " swiftc " , " -typecheck " , " foo.swift " ,
41124129 " -resource-dir " , " resource/dir " ,
41134130 " -sdk " , " sdk " ,
41144131 " -working-directory " , " /absolute/path " ] )
4132+ #endif
41154133 let plannedJobs = try driver. planBuild ( )
41164134 let job = plannedJobs [ 0 ]
4135+
4136+ #if os(Windows)
4137+ XCTAssertTrue ( job. commandLine. contains ( . path( . absolute( . init( " C: \\ absolute \\ path \\ resource \\ dir " ) ) ) ) )
4138+ XCTAssertTrue ( job. commandLine. contains ( . path( . absolute( . init( " C: \\ absolute \\ path \\ sdk " ) ) ) ) )
4139+ #else
41174140 XCTAssertTrue ( job. commandLine. contains ( . path( . absolute( . init( " /absolute/path/resource/dir " ) ) ) ) )
4118- XCTAssertFalse ( job. commandLine. contains ( . path( . relative( . init( " resource/dir " ) ) ) ) )
41194141 XCTAssertTrue ( job. commandLine. contains ( . path( . absolute( . init( " /absolute/path/sdk " ) ) ) ) )
4142+ #endif
4143+ XCTAssertFalse ( job. commandLine. contains ( . path( . relative( . init( " resource/dir " ) ) ) ) )
41204144 XCTAssertFalse ( job. commandLine. contains ( . path( . relative( . init( " sdk " ) ) ) ) )
41214145 }
41224146 }
@@ -4152,12 +4176,17 @@ final class SwiftDriverTests: XCTestCase {
41524176 }
41534177
41544178 func testFilelist( ) throws {
4179+ #if os(Windows)
4180+ let triple = " x86_64-unknown-windows-msvc "
4181+ #else
4182+ let triple = " x86_64-apple-macosx10.9 "
4183+ #endif
41554184 do {
4156- var driver = try Driver ( args: [ " swiftc " , " -emit-module " , " ./a.swift " , " ./b.swift " , " ./c.swift " , " -module-name " , " main " , " -target " , " x86_64-apple-macosx10.9 " , " -driver-filelist-threshold=0 " ] )
4185+ var driver = try Driver ( args: [ " swiftc " , " -emit-module " , " ./a.swift " , " ./b.swift " , " ./c.swift " , " -module-name " , " main " , " -target " , triple , " -driver-filelist-threshold=0 " ] )
41574186 let plannedJobs = try driver. planBuild ( )
41584187
41594188 let jobA = plannedJobs [ 0 ]
4160- let flagA = jobA. commandLine. firstIndex ( of: . flag( " -supplementary-output-file-map " ) ) !
4189+ let flagA = try XCTUnwrap ( jobA. commandLine. firstIndex ( of: . flag( " -supplementary-output-file-map " ) ) )
41614190 let fileListArgumentA = jobA. commandLine [ jobA. commandLine. index ( after: flagA) ]
41624191 guard case let . path( . fileList( _, fileListA) ) = fileListArgumentA else {
41634192 XCTFail ( " Argument wasn't a filelist " )
@@ -4173,7 +4202,7 @@ final class SwiftDriverTests: XCTestCase {
41734202 XCTAssertTrue ( filesA. keys. contains ( . swiftSourceInfoFile) )
41744203
41754204 let jobB = plannedJobs [ 1 ]
4176- let flagB = jobB. commandLine. firstIndex ( of: . flag( " -supplementary-output-file-map " ) ) !
4205+ let flagB = try XCTUnwrap ( jobB. commandLine. firstIndex ( of: . flag( " -supplementary-output-file-map " ) ) )
41774206 let fileListArgumentB = jobB. commandLine [ jobB. commandLine. index ( after: flagB) ]
41784207 guard case let . path( . fileList( _, fileListB) ) = fileListArgumentB else {
41794208 XCTFail ( " Argument wasn't a filelist " )
@@ -4189,7 +4218,7 @@ final class SwiftDriverTests: XCTestCase {
41894218 XCTAssertTrue ( filesB. keys. contains ( . swiftSourceInfoFile) )
41904219
41914220 let jobC = plannedJobs [ 2 ]
4192- let flagC = jobC. commandLine. firstIndex ( of: . flag( " -supplementary-output-file-map " ) ) !
4221+ let flagC = try XCTUnwrap ( jobC. commandLine. firstIndex ( of: . flag( " -supplementary-output-file-map " ) ) )
41934222 let fileListArgumentC = jobC. commandLine [ jobC. commandLine. index ( after: flagC) ]
41944223 guard case let . path( . fileList( _, fileListC) ) = fileListArgumentC else {
41954224 XCTFail ( " Argument wasn't a filelist " )
@@ -4206,10 +4235,10 @@ final class SwiftDriverTests: XCTestCase {
42064235 }
42074236
42084237 do {
4209- var driver = try Driver ( args: [ " swiftc " , " -c " , " ./a.swift " , " ./b.swift " , " ./c.swift " , " -module-name " , " main " , " -target " , " x86_64-apple-macosx10.9 " , " -driver-filelist-threshold=0 " , " -whole-module-optimization " ] )
4238+ var driver = try Driver ( args: [ " swiftc " , " -c " , " ./a.swift " , " ./b.swift " , " ./c.swift " , " -module-name " , " main " , " -target " , triple , " -driver-filelist-threshold=0 " , " -whole-module-optimization " ] )
42104239 let plannedJobs = try driver. planBuild ( )
42114240 let job = plannedJobs [ 0 ]
4212- let inputsFlag = job. commandLine. firstIndex ( of: . flag( " -filelist " ) ) !
4241+ let inputsFlag = try XCTUnwrap ( job. commandLine. firstIndex ( of: . flag( " -filelist " ) ) )
42134242 let inputFileListArgument = job. commandLine [ job. commandLine. index ( after: inputsFlag) ]
42144243 guard case let . path( . fileList( _, inputFileList) ) = inputFileListArgument else {
42154244 XCTFail ( " Argument wasn't a filelist " )
@@ -4221,7 +4250,7 @@ final class SwiftDriverTests: XCTestCase {
42214250 }
42224251 XCTAssertEqual ( inputs, [ . relative( RelativePath ( " a.swift " ) ) , . relative( RelativePath ( " b.swift " ) ) , . relative( RelativePath ( " c.swift " ) ) ] )
42234252
4224- let outputsFlag = job. commandLine. firstIndex ( of: . flag( " -output-filelist " ) ) !
4253+ let outputsFlag = try XCTUnwrap ( job. commandLine. firstIndex ( of: . flag( " -output-filelist " ) ) )
42254254 let outputFileListArgument = job. commandLine [ job. commandLine. index ( after: outputsFlag) ]
42264255 guard case let . path( . fileList( _, outputFileList) ) = outputFileListArgument else {
42274256 XCTFail ( " Argument wasn't a filelist " )
@@ -4235,10 +4264,10 @@ final class SwiftDriverTests: XCTestCase {
42354264 }
42364265
42374266 do {
4238- var driver = try Driver ( args: [ " swiftc " , " -c " , " ./a.swift " , " ./b.swift " , " ./c.swift " , " -module-name " , " main " , " -target " , " x86_64-apple-macosx10.9 " , " -driver-filelist-threshold=0 " , " -whole-module-optimization " , " -num-threads " , " 1 " ] )
4267+ var driver = try Driver ( args: [ " swiftc " , " -c " , " ./a.swift " , " ./b.swift " , " ./c.swift " , " -module-name " , " main " , " -target " , triple , " -driver-filelist-threshold=0 " , " -whole-module-optimization " , " -num-threads " , " 1 " ] )
42394268 let plannedJobs = try driver. planBuild ( )
42404269 let job = plannedJobs [ 0 ]
4241- let outputsFlag = job. commandLine. firstIndex ( of: . flag( " -output-filelist " ) ) !
4270+ let outputsFlag = try XCTUnwrap ( job. commandLine. firstIndex ( of: . flag( " -output-filelist " ) ) )
42424271 let outputFileListArgument = job. commandLine [ job. commandLine. index ( after: outputsFlag) ]
42434272 guard case let . path( . fileList( _, outputFileList) ) = outputFileListArgument else {
42444273 XCTFail ( " Argument wasn't a filelist " )
@@ -4252,10 +4281,10 @@ final class SwiftDriverTests: XCTestCase {
42524281 }
42534282
42544283 do {
4255- var driver = try Driver ( args: [ " swiftc " , " -c " , " ./a.swift " , " ./b.swift " , " ./c.swift " , " -module-name " , " main " , " -target " , " x86_64-apple-macosx10.9 " , " -driver-filelist-threshold=0 " , " -whole-module-optimization " , " -num-threads " , " 1 " , " -embed-bitcode " ] )
4284+ var driver = try Driver ( args: [ " swiftc " , " -c " , " ./a.swift " , " ./b.swift " , " ./c.swift " , " -module-name " , " main " , " -target " , triple , " -driver-filelist-threshold=0 " , " -whole-module-optimization " , " -num-threads " , " 1 " , " -embed-bitcode " ] )
42564285 let plannedJobs = try driver. planBuild ( )
42574286 let job = plannedJobs [ 0 ]
4258- let outputsFlag = job. commandLine. firstIndex ( of: . flag( " -output-filelist " ) ) !
4287+ let outputsFlag = try XCTUnwrap ( job. commandLine. firstIndex ( of: . flag( " -output-filelist " ) ) )
42594288 let outputFileListArgument = job. commandLine [ job. commandLine. index ( after: outputsFlag) ]
42604289 guard case let . path( . fileList( _, outputFileList) ) = outputFileListArgument else {
42614290 XCTFail ( " Argument wasn't a filelist " )
@@ -4269,10 +4298,10 @@ final class SwiftDriverTests: XCTestCase {
42694298 }
42704299
42714300 do {
4272- var driver = try Driver ( args: [ " swiftc " , " -emit-library " , " ./a.swift " , " ./b.swift " , " ./c.swift " , " -module-name " , " main " , " -target " , " x86_64-apple-macosx10.9 " , " -driver-filelist-threshold=0 " ] )
4301+ var driver = try Driver ( args: [ " swiftc " , " -emit-library " , " ./a.swift " , " ./b.swift " , " ./c.swift " , " -module-name " , " main " , " -target " , triple , " -driver-filelist-threshold=0 " ] )
42734302 let plannedJobs = try driver. planBuild ( )
42744303 let job = plannedJobs [ 3 ]
4275- let inputsFlag = job. commandLine. firstIndex ( of: . flag( " -filelist " ) ) !
4304+ let inputsFlag = try XCTUnwrap ( job. commandLine. firstIndex ( of: . flag( " -filelist " ) ) )
42764305 let inputFileListArgument = job. commandLine [ job. commandLine. index ( after: inputsFlag) ]
42774306 guard case let . path( . fileList( _, inputFileList) ) = inputFileListArgument else {
42784307 XCTFail ( " Argument wasn't a filelist " )
@@ -4286,10 +4315,10 @@ final class SwiftDriverTests: XCTestCase {
42864315 }
42874316
42884317 do {
4289- var driver = try Driver ( args: [ " swiftc " , " -emit-library " , " ./a.swift " , " ./b.swift " , " ./c.swift " , " -module-name " , " main " , " -target " , " x86_64-apple-macosx10.9 " , " -driver-filelist-threshold=0 " , " -whole-module-optimization " , " -num-threads " , " 1 " ] )
4318+ var driver = try Driver ( args: [ " swiftc " , " -emit-library " , " ./a.swift " , " ./b.swift " , " ./c.swift " , " -module-name " , " main " , " -target " , triple , " -driver-filelist-threshold=0 " , " -whole-module-optimization " , " -num-threads " , " 1 " ] )
42904319 let plannedJobs = try driver. planBuild ( )
42914320 let job = plannedJobs [ 1 ]
4292- let inputsFlag = job. commandLine. firstIndex ( of: . flag( " -filelist " ) ) !
4321+ let inputsFlag = try XCTUnwrap ( job. commandLine. firstIndex ( of: . flag( " -filelist " ) ) )
42934322 let inputFileListArgument = job. commandLine [ job. commandLine. index ( after: inputsFlag) ]
42944323 guard case let . path( . fileList( _, inputFileList) ) = inputFileListArgument else {
42954324 XCTFail ( " Argument wasn't a filelist " )
@@ -4307,7 +4336,7 @@ final class SwiftDriverTests: XCTestCase {
43074336 let plannedJobs = try driver. planBuild ( )
43084337
43094338 let jobA = plannedJobs [ 0 ]
4310- let flagA = jobA. commandLine. firstIndex ( of: . flag( " -supplementary-output-file-map " ) ) !
4339+ let flagA = try XCTUnwrap ( jobA. commandLine. firstIndex ( of: . flag( " -supplementary-output-file-map " ) ) )
43114340 let fileListArgumentA = jobA. commandLine [ jobA. commandLine. index ( after: flagA) ]
43124341 guard case let . path( . fileList( _, fileListA) ) = fileListArgumentA else {
43134342 XCTFail ( " Argument wasn't a filelist " )
@@ -4320,7 +4349,7 @@ final class SwiftDriverTests: XCTestCase {
43204349 XCTAssertEqual ( mapA. entries, [ . relative( . init( " a.swift " ) ) : [ : ] ] )
43214350
43224351 let jobB = plannedJobs [ 1 ]
4323- let flagB = jobB. commandLine. firstIndex ( of: . flag( " -supplementary-output-file-map " ) ) !
4352+ let flagB = try XCTUnwrap ( jobB. commandLine. firstIndex ( of: . flag( " -supplementary-output-file-map " ) ) )
43244353 let fileListArgumentB = jobB. commandLine [ jobB. commandLine. index ( after: flagB) ]
43254354 guard case let . path( . fileList( _, fileListB) ) = fileListArgumentB else {
43264355 XCTFail ( " Argument wasn't a filelist " )
@@ -4338,7 +4367,7 @@ final class SwiftDriverTests: XCTestCase {
43384367 let plannedJobs = try driver. planBuild ( )
43394368
43404369 let jobA = plannedJobs [ 0 ]
4341- let flagA = jobA. commandLine. firstIndex ( of: . flag( " -supplementary-output-file-map " ) ) !
4370+ let flagA = try XCTUnwrap ( jobA. commandLine. firstIndex ( of: . flag( " -supplementary-output-file-map " ) ) )
43424371 let fileListArgumentA = jobA. commandLine [ jobA. commandLine. index ( after: flagA) ]
43434372 guard case let . path( . fileList( _, fileListA) ) = fileListArgumentA else {
43444373 XCTFail ( " Argument wasn't a filelist " )
0 commit comments