Skip to content

Commit 08efdf5

Browse files
committed
NFC: Add a test-case for -w in clang arguments for "remote" packages
Remote in this case means local or remote source control or registry.
1 parent 398dab8 commit 08efdf5

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

Tests/BuildTests/ClangTargetBuildDescriptionTests.swift

+18-6
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ final class ClangTargetBuildDescriptionTests: XCTestCase {
2222
func testClangIndexStorePath() throws {
2323
let targetDescription = try makeTargetBuildDescription("test")
2424
XCTAssertTrue(try targetDescription.basicArguments().contains("-index-store-path"))
25+
XCTAssertFalse(try targetDescription.basicArguments().contains("-w"))
2526
}
2627

2728
func testSwiftCorelibsFoundationIncludeWorkaround() throws {
@@ -45,6 +46,11 @@ final class ClangTargetBuildDescriptionTests: XCTestCase {
4546
XCTAssertTrue(try androidDescription.basicArguments().contains("\(androidParameters.toolchain.swiftResourcesPath!)"))
4647
}
4748

49+
func testWarningSuppressionForRemotePackages() throws {
50+
let targetDescription = try makeTargetBuildDescription("test-warning-supression", usesSourceControl: true)
51+
XCTAssertTrue(try targetDescription.basicArguments().contains("-w"))
52+
}
53+
4854
private func makeClangTarget() throws -> ClangTarget {
4955
try ClangTarget(
5056
name: "dummy",
@@ -70,14 +76,20 @@ final class ClangTargetBuildDescriptionTests: XCTestCase {
7076
}
7177

7278
private func makeTargetBuildDescription(_ packageName: String,
73-
buildParameters: BuildParameters? = nil) throws -> ClangTargetBuildDescription {
79+
buildParameters: BuildParameters? = nil,
80+
usesSourceControl: Bool = false) throws -> ClangTargetBuildDescription {
7481
let observability = ObservabilitySystem.makeForTesting(verbose: false)
7582

76-
let manifest = Manifest.createRootManifest(
77-
displayName: "dummy",
78-
toolsVersion: .v5,
79-
targets: [try TargetDescription(name: "dummy")]
80-
)
83+
let manifest: Manifest
84+
if usesSourceControl {
85+
manifest = Manifest.createLocalSourceControlManifest(
86+
displayName: packageName, path: AbsolutePath("/\(packageName)"))
87+
} else {
88+
manifest = Manifest.createRootManifest(
89+
displayName: packageName,
90+
toolsVersion: .v5,
91+
targets: [try TargetDescription(name: "dummy")])
92+
}
8193

8294
let target = try makeResolvedTarget()
8395

0 commit comments

Comments
 (0)