@@ -105,7 +105,7 @@ final class BuildPlanTests: XCTestCase {
105105 XCTAssertMatch ( exe, [ " -swift-version " , " 4 " , " -enable-batch-mode " , " -Onone " , " -g " , " -enable-testing " , . equal( j) , " -DSWIFT_PACKAGE " , " -DDEBUG " , " -module-cache-path " , " /path/to/build/debug/ModuleCache " , . anySequence] )
106106
107107 let lib = try result. target ( for: " lib " ) . swiftTarget ( ) . compileArguments ( )
108- XCTAssertMatch ( lib, [ " -swift-version " , " 4 " , " -enable-batch-mode " , " -Onone " , " -g " , " -enable-testing " , . equal( j) , " -DSWIFT_PACKAGE " , " -DDEBUG " , " -module-cache-path " , " /path/to/build/debug/ModuleCache " , . anySequence] )
108+ XCTAssertMatch ( lib, [ " -swift-version " , " 4 " , " -enable-batch-mode " , " -Onone " , " -g " , " -enable-testing " , . equal( j) , " -DSWIFT_PACKAGE " , " -DDEBUG " , . optional ( " -application-extension " ) , " -module-cache-path " , " /path/to/build/debug/ModuleCache " , . anySequence] )
109109
110110 #if os(macOS)
111111 let linkArguments = [
@@ -285,35 +285,36 @@ final class BuildPlanTests: XCTestCase {
285285 result. checkTargetsCount ( 3 )
286286
287287 let ext = try result. target ( for: " extlib " ) . clangTarget ( )
288- var args : [ String ] = [ ]
288+ var args : [ StringPattern ] = [ ]
289289
290290 #if os(macOS)
291- args += [ " -fobjc-arc " , " -target " , defaultTargetTriple]
291+ args += [ " -fobjc-arc " , " -target " , . equal ( defaultTargetTriple) ]
292292 #else
293- args += [ " -target " , defaultTargetTriple]
293+ args += [ " -target " , . equal ( defaultTargetTriple) ]
294294 #endif
295295
296296 args += [ " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " ]
297297 args += [ " -fblocks " , " -fmodules " , " -fmodule-name=extlib " ,
298- " -I " , " /ExtPkg/Sources/extlib/include " , " -fmodules-cache-path=/path/to/build/debug/ModuleCache " ]
299- XCTAssertEqual ( ext. basicArguments ( ) , args)
298+ " -I " , " /ExtPkg/Sources/extlib/include " , . optional( " -fapplication-extension " ) ,
299+ " -fmodules-cache-path=/path/to/build/debug/ModuleCache " ]
300+ XCTAssertMatch ( ext. basicArguments ( ) , args)
300301 XCTAssertEqual ( ext. objects, [ AbsolutePath ( " /path/to/build/debug/extlib.build/extlib.c.o " ) ] )
301302 XCTAssertEqual ( ext. moduleMap, AbsolutePath ( " /path/to/build/debug/extlib.build/module.modulemap " ) )
302303
303304 let exe = try result. target ( for: " exe " ) . clangTarget ( )
304305 args = [ ]
305306
306307 #if os(macOS)
307- args += [ " -fobjc-arc " , " -target " , defaultTargetTriple]
308+ args += [ " -fobjc-arc " , " -target " , . equal ( defaultTargetTriple) ]
308309 #else
309- args += [ " -target " , defaultTargetTriple]
310+ args += [ " -target " , . equal ( defaultTargetTriple) ]
310311 #endif
311312
312313 args += [ " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " ]
313314 args += [ " -fblocks " , " -fmodules " , " -fmodule-name=exe " ,
314315 " -I " , " /Pkg/Sources/exe/include " , " -I " , " /Pkg/Sources/lib/include " , " -I " , " /ExtPkg/Sources/extlib/include " ,
315316 " -fmodules-cache-path=/path/to/build/debug/ModuleCache " ]
316- XCTAssertEqual ( exe. basicArguments ( ) , args)
317+ XCTAssertMatch ( exe. basicArguments ( ) , args)
317318 XCTAssertEqual ( exe. objects, [ AbsolutePath ( " /path/to/build/debug/exe.build/main.c.o " ) ] )
318319 XCTAssertEqual ( exe. moduleMap, nil )
319320
@@ -432,18 +433,19 @@ final class BuildPlanTests: XCTestCase {
432433 result. checkTargetsCount ( 2 )
433434
434435 let lib = try result. target ( for: " lib " ) . clangTarget ( )
435- var args : [ String ] = [ ]
436+ var args : [ StringPattern ] = [ ]
436437
437438 #if os(macOS)
438- args += [ " -fobjc-arc " , " -target " , defaultTargetTriple]
439+ args += [ " -fobjc-arc " , " -target " , . equal ( defaultTargetTriple) ]
439440 #else
440- args += [ " -target " , defaultTargetTriple]
441+ args += [ " -target " , . equal ( defaultTargetTriple) ]
441442 #endif
442443
443444 args += [ " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " ]
444445 args += [ " -fblocks " , " -fmodules " , " -fmodule-name=lib " , " -I " , " /Pkg/Sources/lib/include " ,
446+ . optional( " -fapplication-extension " ) ,
445447 " -fmodules-cache-path=/path/to/build/debug/ModuleCache " ]
446- XCTAssertEqual ( lib. basicArguments ( ) , args)
448+ XCTAssertMatch ( lib. basicArguments ( ) , args)
447449 XCTAssertEqual ( lib. objects, [ AbsolutePath ( " /path/to/build/debug/lib.build/lib.c.o " ) ] )
448450 XCTAssertEqual ( lib. moduleMap, AbsolutePath ( " /path/to/build/debug/lib.build/module.modulemap " ) )
449451
@@ -587,7 +589,7 @@ final class BuildPlanTests: XCTestCase {
587589 #endif
588590
589591 let foo = try result. target ( for: " Foo " ) . swiftTarget ( ) . compileArguments ( )
590- XCTAssertMatch ( foo, [ " -swift-version " , " 4 " , " -enable-batch-mode " , " -Onone " , " -g " , " -enable-testing " , . equal( j) , " -DSWIFT_PACKAGE " , " -DDEBUG " , " -module-cache-path " , " /path/to/build/debug/ModuleCache " , . anySequence] )
592+ XCTAssertMatch ( foo, [ " -swift-version " , " 4 " , " -enable-batch-mode " , " -Onone " , " -g " , " -enable-testing " , . equal( j) , " -DSWIFT_PACKAGE " , " -DDEBUG " , . optional ( " -application-extension " ) , " -module-cache-path " , " /path/to/build/debug/ModuleCache " , . anySequence] )
591593
592594 let fooTests = try result. target ( for: " FooTests " ) . swiftTarget ( ) . compileArguments ( )
593595 XCTAssertMatch ( fooTests, [ " -swift-version " , " 4 " , " -enable-batch-mode " , " -Onone " , " -g " , " -enable-testing " , . equal( j) , " -DSWIFT_PACKAGE " , " -DDEBUG " , " -module-cache-path " , " /path/to/build/debug/ModuleCache " , . anySequence] )
@@ -748,7 +750,7 @@ final class BuildPlanTests: XCTestCase {
748750 ] )
749751
750752 XCTAssertEqual ( barLinkArgs, [
751- " /fake/path/to/swiftc " , " -g " , " -L " , " /path/to/build/debug " , " -o " ,
753+ " /fake/path/to/swiftc " , " -application-extension " , " - g" , " -L " , " /path/to/build/debug " , " -o " ,
752754 " /path/to/build/debug/libBar-Baz.dylib " ,
753755 " -module-name " , " Bar_Baz " , " -emit-library " ,
754756 " @/path/to/build/debug/Bar-Baz.product/Objects.LinkFileList " ,
@@ -811,11 +813,11 @@ final class BuildPlanTests: XCTestCase {
811813 XCTAssertMatch ( exe, [ " -swift-version " , " 4 " , " -enable-batch-mode " , " -Onone " , " -g " , " -enable-testing " , . equal( j) , " -DSWIFT_PACKAGE " , " -DDEBUG " , " -module-cache-path " , " /path/to/build/debug/ModuleCache " , . anySequence] )
812814
813815 let lib = try result. target ( for: " lib " ) . swiftTarget ( ) . compileArguments ( )
814- XCTAssertMatch ( lib, [ " -swift-version " , " 4 " , " -enable-batch-mode " , " -Onone " , " -g " , " -enable-testing " , . equal( j) , " -DSWIFT_PACKAGE " , " -DDEBUG " , " -module-cache-path " , " /path/to/build/debug/ModuleCache " , . anySequence] )
816+ XCTAssertMatch ( lib, [ " -swift-version " , " 4 " , " -enable-batch-mode " , " -Onone " , " -g " , " -enable-testing " , . equal( j) , " -DSWIFT_PACKAGE " , " -DDEBUG " , . optional ( " -application-extension " ) , " -module-cache-path " , " /path/to/build/debug/ModuleCache " , . anySequence] )
815817
816818 #if os(macOS)
817819 let linkArguments = [
818- " /fake/path/to/swiftc " , " -g " , " -L " , " /path/to/build/debug " ,
820+ " /fake/path/to/swiftc " , " -application-extension " , " - g" , " -L " , " /path/to/build/debug " ,
819821 " -o " , " /path/to/build/debug/liblib.dylib " , " -module-name " , " lib " ,
820822 " -emit-library " ,
821823 " @/path/to/build/debug/lib.product/Objects.LinkFileList " ,
@@ -879,15 +881,15 @@ final class BuildPlanTests: XCTestCase {
879881
880882 let lib = try result. target ( for: " lib " ) . clangTarget ( )
881883 #if os(macOS)
882- XCTAssertEqual ( lib. basicArguments ( ) , [ " -fobjc-arc " , " -target " , defaultTargetTriple, " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " , " -fblocks " , " -fmodules " , " -fmodule-name=lib " , " -I " , " /Pkg/Sources/lib/include " , " -fmodules-cache-path=/path/to/build/debug/ModuleCache " ] )
884+ XCTAssertEqual ( lib. basicArguments ( ) , [ " -fobjc-arc " , " -target " , defaultTargetTriple, " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " , " -fblocks " , " -fmodules " , " -fmodule-name=lib " , " -I " , " /Pkg/Sources/lib/include " , " -fapplication-extension " , " - fmodules-cache-path=/path/to/build/debug/ModuleCache" ] )
883885 #else
884886 XCTAssertEqual ( lib. basicArguments ( ) , [ " -target " , defaultTargetTriple, " -g " , " -O0 " , " -DSWIFT_PACKAGE=1 " , " -DDEBUG=1 " , " -fblocks " , " -fmodules " , " -fmodule-name=lib " , " -I " , " /Pkg/Sources/lib/include " , " -fmodules-cache-path=/path/to/build/debug/ModuleCache " ] )
885887 #endif
886888 XCTAssertEqual ( lib. objects, [ AbsolutePath ( " /path/to/build/debug/lib.build/lib.cpp.o " ) ] )
887889 XCTAssertEqual ( lib. moduleMap, AbsolutePath ( " /path/to/build/debug/lib.build/module.modulemap " ) )
888890
889891 #if os(macOS)
890- XCTAssertEqual ( try result. buildProduct ( for: " lib " ) . linkArguments ( ) , [ " /fake/path/to/swiftc " , " -lc++ " , " -g " , " -L " , " /path/to/build/debug " , " -o " , " /path/to/build/debug/liblib.dylib " , " -module-name " , " lib " , " -emit-library " , " @/path/to/build/debug/lib.product/Objects.LinkFileList " , " -runtime-compatibility-version " , " none " , " -target " , " x86_64-apple-macosx10.10 " ] )
892+ XCTAssertEqual ( try result. buildProduct ( for: " lib " ) . linkArguments ( ) , [ " /fake/path/to/swiftc " , " -application-extension " , " - lc++" , " -g " , " -L " , " /path/to/build/debug " , " -o " , " /path/to/build/debug/liblib.dylib " , " -module-name " , " lib " , " -emit-library " , " @/path/to/build/debug/lib.product/Objects.LinkFileList " , " -runtime-compatibility-version " , " none " , " -target " , " x86_64-apple-macosx10.10 " ] )
891893
892894 XCTAssertEqual ( try result. buildProduct ( for: " exe " ) . linkArguments ( ) , [ " /fake/path/to/swiftc " , " -g " , " -L " , " /path/to/build/debug " , " -o " , " /path/to/build/debug/exe " , " -module-name " , " exe " , " -emit-executable " , " @/path/to/build/debug/exe.product/Objects.LinkFileList " , " -runtime-compatibility-version " , " none " , " -target " , " x86_64-apple-macosx10.10 " ] )
893895 #else
0 commit comments