Skip to content

Commit f9da45f

Browse files
committed
PackageModelTests: add case for destination v2
1 parent 07efc00 commit f9da45f

File tree

2 files changed

+39
-8
lines changed

2 files changed

+39
-8
lines changed

Sources/PackageModel/Destination.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
import Basics
1414
import Foundation
15-
import SystemPackage
1615
import TSCBasic
1716

1817
import struct TSCUtility.Triple
@@ -285,11 +284,11 @@ extension Destination {
285284
try self.init(
286285
hostTriple: Triple(destination.hostTriple),
287286
destinationTriple: Triple(destination.destinationTriple),
288-
sdkRootDir: AbsolutePath(validating: destination.sdkDir, relativeTo: destinationDirectory),
287+
sdkRootDir: AbsolutePath(validating: destination.sdkRootDir, relativeTo: destinationDirectory),
289288
toolchainBinDir: AbsolutePath(validating: destination.toolchainBinDir, relativeTo: destinationDirectory),
290289
extraFlags: .init(
291290
cCompilerFlags: destination.extraCCFlags,
292-
cxxCompilerFlags: destination.extraCPPFlags,
291+
cxxCompilerFlags: destination.extraCXXFlags,
293292
swiftCompilerFlags: destination.extraSwiftCFlags,
294293
linkerFlags: destination.extraLinkerFlags
295294
)
@@ -323,12 +322,12 @@ fileprivate struct DestinationInfoV1: Codable {
323322
}
324323

325324
fileprivate struct DestinationInfoV2: Codable {
326-
let sdkDir: String
325+
let sdkRootDir: String
327326
let toolchainBinDir: String
328327
let hostTriple: String
329328
let destinationTriple: String
330329
let extraCCFlags: [String]
331330
let extraSwiftCFlags: [String]
332-
let extraCPPFlags: [String]
331+
let extraCXXFlags: [String]
333332
let extraLinkerFlags: [String]
334333
}

Tests/PackageModelTests/DestinationTests.swift

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import XCTest
1919
private let bundleRootPath = try! AbsolutePath(validating: "/tmp/cross-toolchain")
2020
private let toolchainBinDir = bundleRootPath.appending(.init("swift.xctoolchain/usr/bin"))
2121
private let sdkRootDir = bundleRootPath.appending(.init("ubuntu-jammy.sdk"))
22+
private let hostTriple = "arm64-apple-darwin22.1.0"
2223
private let destinationTriple = "x86_64-unknown-linux-gnu"
2324
private let extraFlags = BuildFlags(
2425
cCompilerFlags: ["-fintegrated-as"],
@@ -40,11 +41,29 @@ private let destinationV1JSON =
4041
}
4142
"""#
4243

43-
class DestinationTests: XCTestCase {
44+
private let destinationV2JSON =
45+
#"""
46+
{
47+
"version": 2,
48+
"sdkRootDir": "\#(sdkRootDir)",
49+
"toolchainBinDir": "\#(toolchainBinDir)",
50+
"hostTriple": "\#(hostTriple)",
51+
"destinationTriple": "\#(destinationTriple)",
52+
"extraCCFlags": \#(extraFlags.cCompilerFlags),
53+
"extraSwiftCFlags": \#(extraFlags.swiftCompilerFlags),
54+
"extraCXXFlags": \#(extraFlags.cxxCompilerFlags),
55+
"extraLinkerFlags": \#(extraFlags.linkerFlags)
56+
}
57+
"""#
58+
59+
final class DestinationTests: XCTestCase {
4460
func testDestinationCodable() throws {
45-
let fs = InMemoryFileSystem(files: ["/sdk/destination.json": ByteString(encodingAsUTF8: destinationV1JSON)])
61+
let fs = InMemoryFileSystem(files: [
62+
"/sdk/destinationV1.json": ByteString(encodingAsUTF8: destinationV1JSON),
63+
"/sdk/destinationV2.json": ByteString(encodingAsUTF8: destinationV2JSON),
64+
])
4665

47-
let destinationV1 = try Destination(fromFile: AbsolutePath(validating: "/sdk/destination.json"), fileSystem: fs)
66+
let destinationV1 = try Destination(fromFile: AbsolutePath(validating: "/sdk/destinationV1.json"), fileSystem: fs)
4867

4968
var flagsWithoutLinkerFlags = extraFlags
5069
flagsWithoutLinkerFlags.linkerFlags = []
@@ -58,5 +77,18 @@ class DestinationTests: XCTestCase {
5877
extraFlags: flagsWithoutLinkerFlags
5978
)
6079
)
80+
81+
let destinationV2 = try Destination(fromFile: AbsolutePath(validating: "/sdk/destinationV2.json"), fileSystem: fs)
82+
83+
XCTAssertEqual(
84+
destinationV2,
85+
Destination(
86+
hostTriple: try Triple(hostTriple),
87+
destinationTriple: try Triple(destinationTriple),
88+
sdkRootDir: sdkRootDir,
89+
toolchainBinDir: toolchainBinDir,
90+
extraFlags: extraFlags
91+
)
92+
)
6193
}
6294
}

0 commit comments

Comments
 (0)