From 0092570d88155836c58df84fdb3d66a1ea5cf8a6 Mon Sep 17 00:00:00 2001 From: Sam Khouri Date: Mon, 7 Jul 2025 08:24:14 -0400 Subject: [PATCH] Tests: Update test expectation - take 2 Update test expectation for executing SwiftPM tests using the build.ps1 script found in swiftlang/swift/utils/build.ps1. Relates to: https://github.com/swiftlang/swift/pull/80405 --- Tests/CommandsTests/PackageCommandTests.swift | 81 +++++++++++++++++++ Tests/CommandsTests/RunCommandTests.swift | 13 ++- Tests/CommandsTests/TestCommandTests.swift | 3 +- .../PD_6_2_LoadingTests.swift | 2 +- 4 files changed, 93 insertions(+), 6 deletions(-) diff --git a/Tests/CommandsTests/PackageCommandTests.swift b/Tests/CommandsTests/PackageCommandTests.swift index 70c5b6767e8..8469e246e44 100644 --- a/Tests/CommandsTests/PackageCommandTests.swift +++ b/Tests/CommandsTests/PackageCommandTests.swift @@ -4411,6 +4411,15 @@ class PackageCommandNativeTests: PackageCommandTestCase { override func testNoParameters() async throws { try await super.testNoParameters() } + + override func testMigrateCommandWhenDependencyBuildsForHostAndTarget() async throws { + try XCTSkipOnWindows( + because: "error: build planning stopped due to build-tool plugin failures", + skipPlatformCi: true, + ) + + try await super.testMigrateCommandWhenDependencyBuildsForHostAndTarget() + } } class PackageCommandSwiftBuildTests: PackageCommandTestCase { @@ -4423,6 +4432,78 @@ class PackageCommandSwiftBuildTests: PackageCommandTestCase { try await super.testNoParameters() } + override func testMigrateCommand() async throws { + try XCTSkipOnWindows( + because: """ + Possibly https://github.com/swiftlang/swift-package-manager/issues/8602: + error: Could not choose a single platform for target 'AllIncludingTests' from the supported platforms 'android qnx webassembly'. Specialization parameters imposed by workspace: platform 'nil' sdkVariant 'nil' supportedPlatforms: 'nil' toolchain: 'nil' + """, + skipPlatformCi: true, + ) + + try await super.testMigrateCommand() + } + + override func testMigrateCommandUpdateManifest2Targets() async throws { + try XCTSkipOnWindows( + because: """ + Possibly https://github.com/swiftlang/swift-package-manager/issues/8602: + error: Could not choose a single platform for target 'A' from the supported platforms 'android qnx webassembly'. Specialization parameters imposed by workspace: platform 'nil' sdkVariant 'nil' supportedPlatforms: 'nil' toolchain: 'nil' + """, + skipPlatformCi: true, + ) + + try await super.testMigrateCommandUpdateManifest2Targets() + } + + override func testMigrateCommandUpdateManifestSingleTarget() async throws { + try XCTSkipOnWindows( + because: """ + Possibly https://github.com/swiftlang/swift-package-manager/issues/8602: + error: Could not choose a single platform for target 'A' from the supported platforms 'android qnx webassembly'. Specialization parameters imposed by workspace: platform 'nil' sdkVariant 'nil' supportedPlatforms: 'nil' toolchain: 'nil' + """, + skipPlatformCi: true, + ) + + try await super.testMigrateCommandUpdateManifestSingleTarget() + } + + override func testMigrateCommandUpdateManifestWithErrors() async throws { + try XCTSkipOnWindows( + because: """ + Possibly https://github.com/swiftlang/swift-package-manager/issues/8602: + error: Could not choose a single platform for target 'A' from the supported platforms 'android qnx webassembly'. Specialization parameters imposed by workspace: platform 'nil' sdkVariant 'nil' supportedPlatforms: 'nil' toolchain: 'nil' + """, + skipPlatformCi: true, + ) + + try await super.testMigrateCommandUpdateManifestWithErrors() + } + + override func testMigrateCommandWhenDependencyBuildsForHostAndTarget() async throws { + try XCTSkipOnWindows( + because: """ + Possibly https://github.com/swiftlang/swift-package-manager/issues/8602: + error: Could not choose a single platform for target 'A' from the supported platforms 'android qnx webassembly'. Specialization parameters imposed by workspace: platform 'nil' sdkVariant 'nil' supportedPlatforms: 'nil' toolchain: 'nil' + """, + skipPlatformCi: true, + ) + + try await super.testMigrateCommandWhenDependencyBuildsForHostAndTarget() + } + + override func testMigrateCommandWithBuildToolPlugins() async throws { + try XCTSkipOnWindows( + because: """ + Possibly https://github.com/swiftlang/swift-package-manager/issues/8602: + error: Could not choose a single platform for target 'A' from the supported platforms 'android qnx webassembly'. Specialization parameters imposed by workspace: platform 'nil' sdkVariant 'nil' supportedPlatforms: 'nil' toolchain: 'nil' + """, + skipPlatformCi: true, + ) + + try await super.testMigrateCommandWithBuildToolPlugins() + } + override func testCommandPluginSymbolGraphCallbacks() async throws { try XCTSkipOnWindows(because: "TSCBasic/Path.swift:969: Assertion failed, https://github.com/swiftlang/swift-package-manager/issues/8602") try await super.testCommandPluginSymbolGraphCallbacks() diff --git a/Tests/CommandsTests/RunCommandTests.swift b/Tests/CommandsTests/RunCommandTests.swift index 33c66cc1300..58d24bc7a97 100644 --- a/Tests/CommandsTests/RunCommandTests.swift +++ b/Tests/CommandsTests/RunCommandTests.swift @@ -399,7 +399,9 @@ struct RunCommandTests { } @Test( - .bug("https://github.com/swiftlang/swift-package-manager/issues/8844"), + .issue("https://github.com/swiftlang/swift-package-manager/issues/8844", relationship: .verifies), + .issue("https://github.com/swiftlang/swift-package-manager/issues/8911", relationship: .defect), + .issue("https://github.com/swiftlang/swift-package-manager/issues/8912", relationship: .defect), arguments: SupportedBuildSystemOnPlatform, BuildConfiguration.allCases ) func swiftRunQuietLogLevel( @@ -423,9 +425,12 @@ struct RunCommandTests { #expect(stdout == "done\n") } } when: { - ProcessInfo.hostOperatingSystem == .linux && - buildSystem == .swiftbuild && - CiEnvironment.runningInSelfHostedPipeline + ( + ProcessInfo.hostOperatingSystem == .linux && + buildSystem == .swiftbuild && + CiEnvironment.runningInSelfHostedPipeline + ) + || (CiEnvironment.runningInSmokeTestPipeline && ProcessInfo.hostOperatingSystem == .windows) } } diff --git a/Tests/CommandsTests/TestCommandTests.swift b/Tests/CommandsTests/TestCommandTests.swift index c8cb6840747..dadf7dc3282 100644 --- a/Tests/CommandsTests/TestCommandTests.swift +++ b/Tests/CommandsTests/TestCommandTests.swift @@ -243,7 +243,8 @@ struct TestCommandTests { } } when: { (buildSystem == .swiftbuild && .linux == ProcessInfo.hostOperatingSystem) - || (buildSystem == .swiftbuild && .windows == ProcessInfo.hostOperatingSystem && CiEnvironment.runningInSelfHostedPipeline) + // || (buildSystem == .swiftbuild && .windows == ProcessInfo.hostOperatingSystem && CiEnvironment.runningInSelfHostedPipeline) + || (buildSystem == .swiftbuild && .windows == ProcessInfo.hostOperatingSystem ) } } diff --git a/Tests/PackageLoadingTests/PD_6_2_LoadingTests.swift b/Tests/PackageLoadingTests/PD_6_2_LoadingTests.swift index 00fedd695f5..19ddde7e991 100644 --- a/Tests/PackageLoadingTests/PD_6_2_LoadingTests.swift +++ b/Tests/PackageLoadingTests/PD_6_2_LoadingTests.swift @@ -86,7 +86,7 @@ struct PackageDescription6_2LoadingTests { results.checkIsEmpty() } } when: { - isWindows + isWindows && !CiEnvironment.runningInSmokeTestPipeline } } }