Skip to content

Commit 440f58a

Browse files
committed
Remove a dependency of the SPMTestSupport target on the Command target, which in turn depends on Build, etc. This lets the subset of unit tests that doesn't actually require the command line tools to still be used to test libSwiftPMDataModel.
The only real code change needed is to move two tests that are actually testing handling of command line arguments of the `swift-build` tool from BuildPlanTests to BuildToolTests.
1 parent a832b3b commit 440f58a

File tree

9 files changed

+21
-24
lines changed

9 files changed

+21
-24
lines changed

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ let package = Package(
201201
.target(
202202
/** SwiftPM test support library */
203203
name: "SPMTestSupport",
204-
dependencies: ["SwiftToolsSupport-auto", "Basics", "TSCTestSupport", "PackageGraph", "PackageLoading", "SourceControl", "Commands", "XCBuildSupport"]),
204+
dependencies: ["SwiftToolsSupport-auto", "Basics", "TSCTestSupport", "PackageGraph", "PackageLoading", "SourceControl", "Workspace", "Xcodeproj", "XCBuildSupport"]),
205205

206206
// MARK: SwiftPM tests
207207

Sources/SPMTestSupport/Resources.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,8 @@
99
*/
1010

1111
import TSCBasic
12-
import Build
12+
import SPMBuildCore
1313
import Foundation
14-
import Commands
1514
import PackageLoading
1615
import Workspace
1716

Sources/SPMTestSupport/misc.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import PackageModel
1818
import SourceControl
1919
import TSCUtility
2020
import Workspace
21-
import Commands
2221

2322
@_exported import TSCTestSupport
2423

Tests/BuildTests/BuildPlanTests.swift

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2572,22 +2572,6 @@ final class BuildPlanTests: XCTestCase {
25722572
try testBinaryTargets(platform: "macos", arch: "arm64e", destinationTriple: arm64eTriple)
25732573
}
25742574

2575-
func testCreatingSanitizers() throws {
2576-
for sanitizer in Sanitizer.allCases {
2577-
XCTAssertEqual(sanitizer, try Sanitizer(argument: sanitizer.shortName))
2578-
}
2579-
}
2580-
2581-
func testInvalidSanitizer() throws {
2582-
do {
2583-
_ = try Sanitizer(argument: "invalid")
2584-
XCTFail("Should have failed to create Sanitizer")
2585-
} catch let error as ArgumentConversionError {
2586-
XCTAssertEqual(
2587-
error.description, "valid sanitizers: address, thread, undefined, scudo")
2588-
}
2589-
}
2590-
25912575
func testAddressSanitizer() throws {
25922576
try sanitizerTest(.address, expectedName: "address")
25932577
}

Tests/CommandsTests/BuildToolTests.swift

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import XCTest
1212

1313
import SPMTestSupport
1414
import TSCBasic
15+
import SPMBuildCore
1516
import Commands
1617
import Workspace
1718

@@ -51,6 +52,22 @@ final class BuildToolTests: XCTestCase {
5152
XCTAssert(try execute(["--version"]).stdout.contains("Swift Package Manager"))
5253
}
5354

55+
func testCreatingSanitizers() throws {
56+
for sanitizer in Sanitizer.allCases {
57+
XCTAssertEqual(sanitizer, try Sanitizer(argument: sanitizer.shortName))
58+
}
59+
}
60+
61+
func testInvalidSanitizer() throws {
62+
do {
63+
_ = try Sanitizer(argument: "invalid")
64+
XCTFail("Should have failed to create Sanitizer")
65+
} catch let error as ArgumentConversionError {
66+
XCTAssertEqual(
67+
error.description, "valid sanitizers: address, thread, undefined, scudo")
68+
}
69+
}
70+
5471
func testBinPathAndSymlink() throws {
5572
fixture(name: "ValidLayouts/SingleModule/ExecutableNew") { path in
5673
let fullPath = resolveSymlinks(path)

Tests/WorkspaceTests/InitTests.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import SPMTestSupport
1313
import TSCBasic
1414
import PackageModel
1515
import Workspace
16-
import Commands
1716

1817
class InitTests: XCTestCase {
1918

Tests/XCBuildSupportTests/PIFBuilderTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import TSCBasic
1313
import TSCUtility
1414
import PackageModel
1515
import PackageGraph
16-
import Build
16+
import SPMBuildCore
1717
import XCBuildSupport
1818
import SPMTestSupport
1919

Tests/XCBuildSupportTests/PIFTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import XCTest
1212
import TSCBasic
1313
import TSCUtility
1414
import PackageModel
15-
import Build
15+
import SPMBuildCore
1616
import XCBuildSupport
1717
import SPMTestSupport
1818

Tests/XcodeprojTests/FunctionalTests.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import XCTest
1212

1313
import TSCBasic
14-
import Commands
1514
import SPMTestSupport
1615
import PackageModel
1716
import TSCUtility

0 commit comments

Comments
 (0)