@@ -3433,6 +3433,7 @@ final class BuildPlanTests: XCTestCase {
3433
3433
" /A/Sources/cbar/barcpp.cpp " ,
3434
3434
" /A/Sources/cbar/bar.c " ,
3435
3435
" /A/Sources/cbar/include/bar.h " ,
3436
+ " /A/Tests/MySwiftTests/test.swift " ,
3436
3437
3437
3438
" /B/Sources/t1/dep.swift " ,
3438
3439
" /B/Sources/t2/dep.swift " ,
@@ -3443,6 +3444,7 @@ final class BuildPlanTests: XCTestCase {
3443
3444
displayName: " A " ,
3444
3445
path: " /A " ,
3445
3446
toolsVersion: . v5,
3447
+ cxxLanguageStandard: " c++17 " ,
3446
3448
dependencies: [
3447
3449
. localSourceControl( path: " /B " , requirement: . upToNextMajor( from: " 1.0.0 " ) ) ,
3448
3450
] ,
@@ -3483,6 +3485,12 @@ final class BuildPlanTests: XCTestCase {
3483
3485
. init( tool: . linker, kind: . unsafeFlags( [ " -Ilfoo " , " -L " , " lbar " ] ) ) ,
3484
3486
]
3485
3487
) ,
3488
+ try TargetDescription (
3489
+ name: " MySwiftTests " , type: . test,
3490
+ settings: [
3491
+ . init( tool: . swift, kind: . interoperabilityMode( . Cxx) ) ,
3492
+ ]
3493
+ ) ,
3486
3494
]
3487
3495
)
3488
3496
@@ -3536,13 +3544,16 @@ final class BuildPlanTests: XCTestCase {
3536
3544
XCTAssertMatch ( cbar, [ . anySequence, " -DCCC=2 " , " -I \( A . appending ( components: " Sources " , " cbar " , " Sources " , " headers " ) ) " , " -I \( A . appending ( components: " Sources " , " cbar " , " Sources " , " cppheaders " ) ) " , " -Icfoo " , " -L " , " cbar " , " -Icxxfoo " , " -L " , " cxxbar " , " -g " , " -fno-omit-frame-pointer " , . end] )
3537
3545
3538
3546
let bar = try result. target ( for: " bar " ) . swiftTarget ( ) . compileArguments ( )
3539
- XCTAssertMatch ( bar, [ . anySequence, " -DLINUX " , " -Isfoo " , " -L " , " sbar " , " -cxx-interoperability-mode=default " , " -enable-upcoming-feature " , " BestFeature " , " -g " , " -Xcc " , " -g " , " -Xcc " , " -fno-omit-frame-pointer " , . end] )
3547
+ XCTAssertMatch ( bar, [ . anySequence, " -DLINUX " , " -Isfoo " , " -L " , " sbar " , " -cxx-interoperability-mode=default " , " -Xcc " , " -std=c++17 " , " - enable-upcoming-feature" , " BestFeature " , " -g " , " -Xcc " , " -g " , " -Xcc " , " -fno-omit-frame-pointer " , . end] )
3540
3548
3541
3549
let exe = try result. target ( for: " exe " ) . swiftTarget ( ) . compileArguments ( )
3542
3550
XCTAssertMatch ( exe, [ . anySequence, " -DFOO " , " -g " , " -Xcc " , " -g " , " -Xcc " , " -fno-omit-frame-pointer " , . end] )
3543
3551
3544
3552
let linkExe = try result. buildProduct ( for: " exe " ) . linkArguments ( )
3545
3553
XCTAssertMatch ( linkExe, [ . anySequence, " -lsqlite3 " , " -llibz " , " -Ilfoo " , " -L " , " lbar " , " -g " , . end] )
3554
+
3555
+ let testDiscovery = try result. target ( for: " APackageDiscoveredTests " ) . swiftTarget ( ) . compileArguments ( )
3556
+ XCTAssertMatch ( testDiscovery, [ . anySequence, " -cxx-interoperability-mode=default " , " -Xcc " , " -std=c++17 " ] )
3546
3557
}
3547
3558
3548
3559
// omit frame pointers explicitly set to true
@@ -3564,7 +3575,7 @@ final class BuildPlanTests: XCTestCase {
3564
3575
XCTAssertMatch ( cbar, [ . anySequence, " -DCCC=2 " , " -I \( A . appending ( components: " Sources " , " cbar " , " Sources " , " headers " ) ) " , " -I \( A . appending ( components: " Sources " , " cbar " , " Sources " , " cppheaders " ) ) " , " -Icfoo " , " -L " , " cbar " , " -Icxxfoo " , " -L " , " cxxbar " , " -g " , " -fomit-frame-pointer " , . end] )
3565
3576
3566
3577
let bar = try result. target ( for: " bar " ) . swiftTarget ( ) . compileArguments ( )
3567
- XCTAssertMatch ( bar, [ . anySequence, " -DLINUX " , " -Isfoo " , " -L " , " sbar " , " -cxx-interoperability-mode=default " , " -enable-upcoming-feature " , " BestFeature " , " -g " , " -Xcc " , " -g " , " -Xcc " , " -fomit-frame-pointer " , . end] )
3578
+ XCTAssertMatch ( bar, [ . anySequence, " -DLINUX " , " -Isfoo " , " -L " , " sbar " , " -cxx-interoperability-mode=default " , " -Xcc " , " -std=c++17 " , " - enable-upcoming-feature" , " BestFeature " , " -g " , " -Xcc " , " -g " , " -Xcc " , " -fomit-frame-pointer " , . end] )
3568
3579
3569
3580
let exe = try result. target ( for: " exe " ) . swiftTarget ( ) . compileArguments ( )
3570
3581
XCTAssertMatch ( exe, [ . anySequence, " -DFOO " , " -g " , " -Xcc " , " -g " , " -Xcc " , " -fomit-frame-pointer " , . end] )
@@ -3589,7 +3600,7 @@ final class BuildPlanTests: XCTestCase {
3589
3600
XCTAssertMatch ( cbar, [ . anySequence, " -DCCC=2 " , " -I \( A . appending ( components: " Sources " , " cbar " , " Sources " , " headers " ) ) " , " -I \( A . appending ( components: " Sources " , " cbar " , " Sources " , " cppheaders " ) ) " , " -Icfoo " , " -L " , " cbar " , " -Icxxfoo " , " -L " , " cxxbar " , " -g " , " -fno-omit-frame-pointer " , . end] )
3590
3601
3591
3602
let bar = try result. target ( for: " bar " ) . swiftTarget ( ) . compileArguments ( )
3592
- XCTAssertMatch ( bar, [ . anySequence, " -DLINUX " , " -Isfoo " , " -L " , " sbar " , " -cxx-interoperability-mode=default " , " -enable-upcoming-feature " , " BestFeature " , " -g " , " -Xcc " , " -g " , " -Xcc " , " -fno-omit-frame-pointer " , . end] )
3603
+ XCTAssertMatch ( bar, [ . anySequence, " -DLINUX " , " -Isfoo " , " -L " , " sbar " , " -cxx-interoperability-mode=default " , " -Xcc " , " -std=c++17 " , " - enable-upcoming-feature" , " BestFeature " , " -g " , " -Xcc " , " -g " , " -Xcc " , " -fno-omit-frame-pointer " , . end] )
3593
3604
3594
3605
let exe = try result. target ( for: " exe " ) . swiftTarget ( ) . compileArguments ( )
3595
3606
XCTAssertMatch ( exe, [ . anySequence, " -DFOO " , " -g " , " -Xcc " , " -g " , " -Xcc " , " -fno-omit-frame-pointer " , . end] )
@@ -3602,10 +3613,10 @@ final class BuildPlanTests: XCTestCase {
3602
3613
XCTAssertMatch ( cbar, [ . anySequence, " -DCCC=2 " , " -I \( A . appending ( components: " Sources " , " cbar " , " Sources " , " headers " ) ) " , " -I \( A . appending ( components: " Sources " , " cbar " , " Sources " , " cppheaders " ) ) " , " -Icfoo " , " -L " , " cbar " , " -Icxxfoo " , " -L " , " cxxbar " , " -g " , . end] )
3603
3614
3604
3615
let bar = try result. target ( for: " bar " ) . swiftTarget ( ) . compileArguments ( )
3605
- XCTAssertMatch ( bar, [ . anySequence, " -DDMACOS " , " -Isfoo " , " -L " , " sbar " , " -cxx-interoperability-mode=default " , " -enable-upcoming-feature " , " BestFeature " , " -enable-upcoming-feature " , " WorstFeature " , " -g " , " -Xcc " , " -g " , . end] )
3616
+ XCTAssertMatch ( bar, [ . anySequence, " -DDMACOS " , " -Isfoo " , " -L " , " sbar " , " -cxx-interoperability-mode=default " , " -Xcc " , " -std=c++17 " , " - enable-upcoming-feature" , " BestFeature " , " -enable-upcoming-feature " , " WorstFeature " , " -g " , " -Xcc " , " -g " , . end] )
3606
3617
3607
3618
let exe = try result. target ( for: " exe " ) . swiftTarget ( ) . compileArguments ( )
3608
- XCTAssertMatch ( exe, [ . anySequence, " -DFOO " , " -cxx-interoperability-mode=default " , " -g " , " -Xcc " , " -g " , . end] )
3619
+ XCTAssertMatch ( exe, [ . anySequence, " -DFOO " , " -cxx-interoperability-mode=default " , " -Xcc " , " -std=c++17 " , " - g" , " -Xcc " , " -g " , . end] )
3609
3620
3610
3621
let linkExe = try result. buildProduct ( for: " exe " ) . linkArguments ( )
3611
3622
XCTAssertMatch ( linkExe, [ . anySequence, " -lsqlite3 " , " -llibz " , " -framework " , " CoreData " , " -framework " , " best " , " -Ilfoo " , " -L " , " lbar " , . anySequence] )
0 commit comments