@@ -1973,6 +1973,18 @@ final class SwiftDriverTests: XCTestCase {
1973
1973
XCTAssertEqual ( plannedJobs [ 1 ] . inputs [ 0 ] . file, . temporary( RelativePath ( " input.swiftmodule " ) ) )
1974
1974
XCTAssertEqual ( plannedJobs [ 1 ] . outputs [ 0 ] . file, . absolute( AbsolutePath ( " /tmp/test.swiftmodule " ) ) )
1975
1975
}
1976
+
1977
+ do {
1978
+ // -g is specified
1979
+ // (partial and final product module are saved to temporary directory so merge-modules is omitted)
1980
+ var driver = try Driver ( args: [ " swiftc " , " -g " , " input.swift " ] )
1981
+ let plannedJobs = try driver. planBuild ( )
1982
+ print ( plannedJobs)
1983
+ XCTAssertEqual ( plannedJobs. count, 3 )
1984
+ // No .mergeModule
1985
+ XCTAssertEqual ( plannedJobs. map { $0. kind } , [ . compile, . link, . generateDSYM] )
1986
+ XCTAssertTrue ( plannedJobs [ 0 ] . outputs. contains ( TypedVirtualPath ( file: VirtualPath . temporary ( RelativePath ( " input.swiftmodule " ) ) . intern ( ) , type: . swiftModule) ) )
1987
+ }
1976
1988
}
1977
1989
1978
1990
func testEmitModuleSeparately( ) throws {
@@ -2046,11 +2058,11 @@ final class SwiftDriverTests: XCTestCase {
2046
2058
// dsymutil won't be found on other platforms
2047
2059
#if os(macOS)
2048
2060
do {
2049
- var driver = try Driver ( args: [ " swiftc " , " -target " , " x86_64-apple-macosx10.15 " , " -g " , " foo.swift " ] )
2061
+ var driver = try Driver ( args: [ " swiftc " , " -target " , " x86_64-apple-macosx10.15 " , " -g " , " foo.swift " , " bar.swift " ] )
2050
2062
let plannedJobs = try driver. planBuild ( )
2051
- XCTAssertEqual ( plannedJobs. count, 4 )
2063
+ XCTAssertEqual ( plannedJobs. count, 5 )
2052
2064
// No module wrapping with Mach-O.
2053
- XCTAssertEqual ( plannedJobs. map { $0. kind } , [ . compile, . mergeModule, . link, . generateDSYM] )
2065
+ XCTAssertEqual ( plannedJobs. map { $0. kind } , [ . compile, . compile , . mergeModule, . link, . generateDSYM] )
2054
2066
}
2055
2067
#endif
2056
2068
}
0 commit comments