@@ -6844,6 +6844,99 @@ final class SwiftDriverTests: XCTestCase {
6844
6844
}
6845
6845
}
6846
6846
}
6847
+
6848
+ func testWindowsOptions( ) throws {
6849
+ let driver =
6850
+ try Driver ( args: [ " swiftc " , " -windows-sdk-version " , " 10.0.17763.0 " , #file] )
6851
+ guard [
6852
+ . visualcToolsRoot,
6853
+ . visualcToolsVersion,
6854
+ . windowsSdkRoot,
6855
+ . windowsSdkVersion
6856
+ ] . map ( driver. isFrontendArgSupported) . reduce ( true , { $0 && $1 } ) else {
6857
+ return
6858
+ }
6859
+
6860
+ do {
6861
+ var driver = try Driver ( args: [
6862
+ " swiftc " , " -target " , " x86_64-unknown-windows-msvc " , " -windows-sdk-root " , " /SDK " , #file
6863
+ ] )
6864
+ let frontend = try driver. planBuild ( ) . first!
6865
+
6866
+ XCTAssertTrue ( frontend. commandLine. contains ( subsequence: [
6867
+ . flag( " -windows-sdk-root " ) ,
6868
+ . path( . absolute( . init( " /SDK " ) ) )
6869
+ ] ) )
6870
+ }
6871
+
6872
+ do {
6873
+ var driver = try Driver ( args: [
6874
+ " swiftc " , " -target " , " x86_64-unknown-windows-msvc " , " -windows-sdk-version " , " 10.0.17763.0 " , #file
6875
+ ] )
6876
+ let frontend = try driver. planBuild ( ) . first!
6877
+
6878
+ XCTAssertTrue ( frontend. commandLine. contains ( subsequence: [
6879
+ . flag( " -windows-sdk-version " ) ,
6880
+ . flag( " 10.0.17763.0 " )
6881
+ ] ) )
6882
+ }
6883
+
6884
+ do {
6885
+ var driver = try Driver ( args: [
6886
+ " swiftc " , " -target " , " x86_64-unknown-windows-msvc " , " -windows-sdk-version " , " 10.0.17763.0 " , " -windows-sdk-root " , " /SDK " , #file
6887
+ ] )
6888
+ let frontend = try driver. planBuild ( ) . first!
6889
+
6890
+ XCTAssertTrue ( frontend. commandLine. contains ( subsequence: [
6891
+ . flag( " -windows-sdk-root " ) ,
6892
+ . path( . absolute( . init( " /SDK " ) ) )
6893
+ ] ) )
6894
+ XCTAssertTrue ( frontend. commandLine. contains ( subsequence: [
6895
+ . flag( " -windows-sdk-version " ) ,
6896
+ . flag( " 10.0.17763.0 " )
6897
+ ] ) )
6898
+ }
6899
+
6900
+ do {
6901
+ var driver = try Driver ( args: [
6902
+ " swiftc " , " -target " , " x86_64-unknown-windows-msvc " , " -visualc-tools-root " , " /MSVC/14.34.31933 " , #file
6903
+ ] )
6904
+ let frontend = try driver. planBuild ( ) . first!
6905
+
6906
+ XCTAssertTrue ( frontend. commandLine. contains ( subsequence: [
6907
+ . flag( " -visualc-tools-root " ) ,
6908
+ . path( . absolute( . init( " /MSVC/14.34.31933 " ) ) ) ,
6909
+ ] ) )
6910
+ }
6911
+
6912
+ do {
6913
+ var driver = try Driver ( args: [
6914
+ " swiftc " , " -target " , " x86_64-unknown-windows-msvc " , " -visualc-tools-version " , " 14.34.31933 " , #file
6915
+ ] )
6916
+ let frontend = try driver. planBuild ( ) . first!
6917
+
6918
+ XCTAssertTrue ( frontend. commandLine. contains ( subsequence: [
6919
+ . flag( " -visualc-tools-version " ) ,
6920
+ . flag( " 14.34.31933 " )
6921
+ ] ) )
6922
+ }
6923
+
6924
+ do {
6925
+ var driver = try Driver ( args: [
6926
+ " swiftc " , " -target " , " x86_64-unknown-windows-msvc " , " -visualc-tools-root " , " /MSVC " , " -visualc-tools-version " , " 14.34.31933 " , #file
6927
+ ] )
6928
+ let frontend = try driver. planBuild ( ) . first!
6929
+
6930
+ XCTAssertTrue ( frontend. commandLine. contains ( subsequence: [
6931
+ . flag( " -visualc-tools-version " ) ,
6932
+ . flag( " 14.34.31933 " )
6933
+ ] ) )
6934
+ XCTAssertTrue ( frontend. commandLine. contains ( subsequence: [
6935
+ . flag( " -visualc-tools-root " ) ,
6936
+ . path( . absolute( . init( " /MSVC " ) ) ) ,
6937
+ ] ) )
6938
+ }
6939
+ }
6847
6940
}
6848
6941
6849
6942
func assertString(
0 commit comments