@@ -1310,52 +1310,49 @@ final class SwiftDriverTests: XCTestCase {
1310
1310
}
1311
1311
1312
1312
func testModuleWrapJob( ) throws {
1313
+ // FIXME: These tests will fail when run on macOS, because
1314
+ // swift-autolink-extract is not present
1315
+ #if os(Linux)
1313
1316
do {
1314
1317
var driver = try Driver ( args: [ " swiftc " , " -target " , " x86_64-unknown-linux-gnu " , " -g " , " foo.swift " ] )
1315
1318
let plannedJobs = try driver. planBuild ( )
1316
- XCTAssertEqual ( plannedJobs. count, 4 )
1317
- // FIXME: There should also be an autolink-extract job. It looks like our
1318
- // triple parsing code is not detecting the object file format correctly.
1319
- XCTAssertEqual ( plannedJobs. map { $0. kind } , [ . compile, . mergeModule, . moduleWrap, . link] )
1320
- XCTAssertEqual ( plannedJobs [ 2 ] . inputs. count, 1 )
1321
- XCTAssertEqual ( plannedJobs [ 2 ] . inputs. count, 1 )
1322
- XCTAssertTrue ( plannedJobs [ 2 ] . commandLine. contains ( subsequence: [ " -target " , " x86_64-unknown-linux-gnu " ] ) )
1323
- XCTAssertTrue ( plannedJobs [ 1 ] . outputs. contains ( plannedJobs [ 2 ] . inputs. first!) )
1324
- XCTAssertTrue ( plannedJobs [ 3 ] . inputs. contains ( plannedJobs [ 2 ] . outputs. first!) )
1325
- }
1326
-
1327
- // dsymutil won't be found on other platforms
1328
- #if os(macOS)
1329
- do {
1330
- var driver = try Driver ( args: [ " swiftc " , " -target " , " x86_64-apple-macosx10.15 " , " -g " , " foo.swift " ] )
1331
- let plannedJobs = try driver. planBuild ( )
1332
- XCTAssertEqual ( plannedJobs. count, 4 )
1333
- // No module wrapping with Mach-O.
1334
- // FIXME: There should also be an autolink-extract job. It looks like our
1335
- // triple parsing code is not detecting the object file format correctly.
1336
- XCTAssertEqual ( plannedJobs. map { $0. kind } , [ . compile, . mergeModule, . link, . generateDSYM] )
1319
+ XCTAssertEqual ( plannedJobs. count, 5 )
1320
+ XCTAssertEqual ( plannedJobs. map { $0. kind } , [ . compile, . autolinkExtract, . mergeModule, . moduleWrap, . link] )
1321
+ XCTAssertEqual ( plannedJobs [ 3 ] . inputs. count, 1 )
1322
+ XCTAssertEqual ( plannedJobs [ 3 ] . inputs. count, 1 )
1323
+ XCTAssertTrue ( plannedJobs [ 3 ] . commandLine. contains ( subsequence: [ " -target " , " x86_64-unknown-linux-gnu " ] ) )
1324
+ XCTAssertTrue ( plannedJobs [ 2 ] . outputs. contains ( plannedJobs [ 3 ] . inputs. first!) )
1325
+ XCTAssertTrue ( plannedJobs [ 4 ] . inputs. contains ( plannedJobs [ 3 ] . outputs. first!) )
1337
1326
}
1338
- #endif
1339
1327
1340
1328
do {
1341
1329
var driver = try Driver ( args: [ " swiftc " , " -target " , " x86_64-unknown-linux-gnu " , " foo.swift " ] )
1342
1330
let plannedJobs = try driver. planBuild ( )
1343
- XCTAssertEqual ( plannedJobs. count, 2 )
1331
+ XCTAssertEqual ( plannedJobs. count, 3 )
1344
1332
// No merge module/module wrap jobs.
1345
- // FIXME: There should also be an autolink-extract job. It looks like our
1346
- // triple parsing code is not detecting the object file format correctly.
1347
- XCTAssertEqual ( plannedJobs. map { $0. kind } , [ . compile, . link] )
1333
+ XCTAssertEqual ( plannedJobs. map { $0. kind } , [ . compile, . autolinkExtract, . link] )
1348
1334
}
1349
1335
1350
1336
do {
1351
1337
var driver = try Driver ( args: [ " swiftc " , " -target " , " x86_64-unknown-linux-gnu " , " -gdwarf-types " , " foo.swift " ] )
1352
1338
let plannedJobs = try driver. planBuild ( )
1353
- XCTAssertEqual ( plannedJobs. count, 3 )
1339
+ XCTAssertEqual ( plannedJobs. count, 4 )
1354
1340
// Merge module, but no module wrapping.
1341
+ XCTAssertEqual ( plannedJobs. map { $0. kind } , [ . compile, . autolinkExtract, . mergeModule, . link] )
1342
+ }
1343
+ #endif
1344
+ // dsymutil won't be found on other platforms
1345
+ #if os(macOS)
1346
+ do {
1347
+ var driver = try Driver ( args: [ " swiftc " , " -target " , " x86_64-apple-macosx10.15 " , " -g " , " foo.swift " ] )
1348
+ let plannedJobs = try driver. planBuild ( )
1349
+ XCTAssertEqual ( plannedJobs. count, 4 )
1350
+ // No module wrapping with Mach-O.
1355
1351
// FIXME: There should also be an autolink-extract job. It looks like our
1356
1352
// triple parsing code is not detecting the object file format correctly.
1357
- XCTAssertEqual ( plannedJobs. map { $0. kind } , [ . compile, . mergeModule, . link] )
1353
+ XCTAssertEqual ( plannedJobs. map { $0. kind } , [ . compile, . mergeModule, . link, . generateDSYM ] )
1358
1354
}
1355
+ #endif
1359
1356
}
1360
1357
1361
1358
func testRepl( ) throws {
0 commit comments