Skip to content

Commit 00bfa31

Browse files
authored
Disable some tests when running on Windows platform smoke test (#8759)
Required for swiftlang/swift#80405
1 parent 5489d55 commit 00bfa31

File tree

6 files changed

+161
-18
lines changed

6 files changed

+161
-18
lines changed

Sources/_InternalTestSupport/XCTAssertHelpers.swift

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,10 +67,15 @@ public func XCTSkipOnWindows(because reason: String? = nil, skipPlatformCi: Bool
6767
} else {
6868
failureCause = ""
6969
}
70-
if (skipPlatformCi || skipSelfHostedCI) {
70+
if (skipPlatformCi) {
7171
try XCTSkipIfPlatformCI(because: "Test is run in Platform CI. Skipping\(failureCause)", file: file, line: line)
72+
}
73+
74+
if (skipSelfHostedCI) {
7275
try XCTSkipIfselfHostedCI(because: "Test is run in Self hosted CI. Skipping\(failureCause)", file: file, line: line)
73-
} else {
76+
}
77+
78+
if (!skipPlatformCi && !skipSelfHostedCI) {
7479
throw XCTSkip("Skipping test\(failureCause)", file: file, line: line)
7580
}
7681
#endif

Tests/CommandsTests/RunCommandTests.swift

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,12 @@ class RunCommandTestCase: CommandsBuildProviderTestCase {
8181
}
8282

8383
func testUnknownProductAndArgumentPassing() async throws {
84+
try XCTSkipOnWindows(
85+
because: """
86+
Invalid absolute path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
87+
""",
88+
skipPlatformCi: true,
89+
)
8490
try await fixture(name: "Miscellaneous/EchoExecutable") { fixturePath in
8591
let (stdout, stderr) = try await execute(
8692
["secho", "1", "--hello", "world"], packagePath: fixturePath)
@@ -115,6 +121,12 @@ class RunCommandTestCase: CommandsBuildProviderTestCase {
115121
}
116122

117123
func testUnreachableExecutable() async throws {
124+
try XCTSkipOnWindows(
125+
because: """
126+
Invalid absolute path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
127+
""",
128+
skipPlatformCi: true,
129+
)
118130
try await fixture(name: "Miscellaneous/UnreachableTargets") { fixturePath in
119131
let (output, _) = try await execute(["bexec"], packagePath: fixturePath.appending("A"))
120132
let outputLines = output.split(whereSeparator: { $0.isNewline })
@@ -246,6 +258,48 @@ class RunCommandNativeTests: RunCommandTestCase {
246258
override func testUsage() async throws {
247259
try await super.testUsage()
248260
}
261+
262+
override func testUnknownProductAndArgumentPassing() async throws {
263+
try XCTSkipOnWindows(
264+
because: """
265+
Invalid absolute path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
266+
""",
267+
skipPlatformCi: true,
268+
)
269+
try await super.testUnknownProductAndArgumentPassing()
270+
}
271+
272+
override func testToolsetDebugger() async throws {
273+
try XCTSkipOnWindows(
274+
because: """
275+
Invalid absolute path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
276+
""",
277+
skipPlatformCi: true,
278+
)
279+
try await super.testToolsetDebugger()
280+
}
281+
282+
283+
override func testUnreachableExecutable() async throws {
284+
try XCTSkipOnWindows(
285+
because: """
286+
Invalid absolute path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
287+
""",
288+
skipPlatformCi: true,
289+
)
290+
try await super.testUnreachableExecutable()
291+
}
292+
293+
override func testMultipleExecutableAndExplicitExecutable() async throws {
294+
try XCTSkipOnWindows(
295+
because: """
296+
Invalid absolute path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
297+
""",
298+
skipPlatformCi: true,
299+
)
300+
try await super.testMultipleExecutableAndExplicitExecutable()
301+
}
302+
249303
}
250304

251305

Tests/FunctionalTests/MiscellaneousTests.swift

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,11 @@ final class MiscellaneousTestCase: XCTestCase {
474474

475475
func testEditModeEndToEnd() async throws {
476476
try await fixture(name: "Miscellaneous/Edit") { fixturePath in
477+
#if os(Windows)
478+
let prefix = fixturePath
479+
#else
477480
let prefix = try resolveSymlinks(fixturePath)
481+
#endif
478482
let appPath = fixturePath.appending("App")
479483

480484
// prepare the dependencies as git repos
@@ -487,8 +491,12 @@ final class MiscellaneousTestCase: XCTestCase {
487491
// make sure it builds
488492
let output = try await executeSwiftBuild(appPath)
489493
// package resolution output goes to stderr
490-
XCTAssertMatch(output.stderr, .contains("Fetching \(prefix.appending("Foo"))"))
491-
XCTAssertMatch(output.stderr, .contains("Creating working copy for \(prefix.appending("Foo"))"))
494+
XCTAssertMatch(output.stderr, .contains("Fetching \(prefix.appending("Foo").pathString)"))
495+
XCTAssertMatch(output.stderr, .contains("Fetched \(prefix.appending("Foo").pathString)"))
496+
XCTAssertMatch(output.stderr, .contains("Creating working copy for \(prefix.appending("Foo").pathString)"))
497+
XCTAssertMatch(output.stderr, .contains("Fetching \(prefix.appending("Bar").pathString)"))
498+
XCTAssertMatch(output.stderr, .contains("Fetched \(prefix.appending("Bar").pathString)"))
499+
XCTAssertMatch(output.stderr, .contains("Creating working copy for \(prefix.appending("Bar").pathString)"))
492500
// in "swift build" build output goes to stdout
493501
XCTAssertMatch(output.stdout, .contains("Build complete!"))
494502
}
@@ -597,6 +605,12 @@ final class MiscellaneousTestCase: XCTestCase {
597605
func testPluginGeneratedResources() async throws {
598606
// Only run the test if the environment in which we're running actually supports Swift concurrency (which the plugin APIs require).
599607
try XCTSkipIf(!UserToolchain.default.supportsSwiftConcurrency(), "skipping because test environment doesn't support concurrency")
608+
try XCTSkipOnWindows(
609+
because: """
610+
Invalid path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
611+
""",
612+
skipPlatformCi: true,
613+
)
600614

601615
try await fixture(name: "Miscellaneous/PluginGeneratedResources") { path in
602616
let result = try await SwiftPM.Run.execute(packagePath: path)
@@ -610,7 +624,7 @@ final class MiscellaneousTestCase: XCTestCase {
610624
await XCTAssertBuilds(fixturePath)
611625
}
612626
}
613-
627+
614628
func testNoJSONOutputWithFlatPackageStructure() async throws {
615629
try await fixture(name: "Miscellaneous/FlatPackage") { package in
616630
// First build, make sure we got the `.build` directory where we expect it, and that there is no JSON output (by looking for known output).

Tests/FunctionalTests/ResourcesTests.swift

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

1818
final class ResourcesTests: XCTestCase {
1919
func testSimpleResources() async throws {
20+
try XCTSkipOnWindows(
21+
because: """
22+
Invalid path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
23+
""",
24+
skipPlatformCi: true,
25+
)
26+
2027
try await fixture(name: "Resources/Simple") { fixturePath in
2128
var executables = ["SwiftyResource"]
2229

Tests/FunctionalTests/TraitTests.swift

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ import XCTest
1818

1919
final class TraitTests: XCTestCase {
2020
func testTraits_whenNoFlagPassed() async throws {
21+
try XCTSkipOnWindows(
22+
because: """
23+
Error during swift Run Invalid path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
24+
""",
25+
skipPlatformCi: true,
26+
)
2127
try await fixture(name: "Traits") { fixturePath in
2228
let (stdout, stderr) = try await executeSwiftRun(
2329
fixturePath.appending("Example"),
@@ -40,6 +46,12 @@ final class TraitTests: XCTestCase {
4046
}
4147

4248
func testTraits_whenTraitUnification() async throws {
49+
try XCTSkipOnWindows(
50+
because: """
51+
Error during swift Run Invalid path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
52+
""",
53+
skipPlatformCi: true,
54+
)
4355
try await fixture(name: "Traits") { fixturePath in
4456
let (stdout, stderr) = try await executeSwiftRun(
4557
fixturePath.appending("Example"),
@@ -66,6 +78,12 @@ final class TraitTests: XCTestCase {
6678
}
6779

6880
func testTraits_whenTraitUnification_whenSecondTraitNotEnabled() async throws {
81+
try XCTSkipOnWindows(
82+
because: """
83+
Error during swift Run Invalid path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
84+
""",
85+
skipPlatformCi: true,
86+
)
6987
try await fixture(name: "Traits") { fixturePath in
7088
let (stdout, stderr) = try await executeSwiftRun(
7189
fixturePath.appending("Example"),
@@ -90,6 +108,12 @@ final class TraitTests: XCTestCase {
90108
}
91109

92110
func testTraits_whenIndividualTraitsEnabled_andDefaultTraits() async throws {
111+
try XCTSkipOnWindows(
112+
because: """
113+
Error during swift Run Invalid path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
114+
""",
115+
skipPlatformCi: true,
116+
)
93117
try await fixture(name: "Traits") { fixturePath in
94118
let (stdout, stderr) = try await executeSwiftRun(
95119
fixturePath.appending("Example"),
@@ -119,6 +143,13 @@ final class TraitTests: XCTestCase {
119143
}
120144

121145
func testTraits_whenDefaultTraitsDisabled() async throws {
146+
try XCTSkipOnWindows(
147+
because: """
148+
Error during swift Run Invalid path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
149+
""",
150+
skipPlatformCi: true,
151+
)
152+
122153
try await fixture(name: "Traits") { fixturePath in
123154
let (stdout, stderr) = try await executeSwiftRun(
124155
fixturePath.appending("Example"),
@@ -137,6 +168,12 @@ final class TraitTests: XCTestCase {
137168
}
138169

139170
func testTraits_whenIndividualTraitsEnabled_andDefaultTraitsDisabled() async throws {
171+
try XCTSkipOnWindows(
172+
because: """
173+
Error during swift Run Invalid path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
174+
""",
175+
skipPlatformCi: true,
176+
)
140177
try await fixture(name: "Traits") { fixturePath in
141178
let (stdout, stderr) = try await executeSwiftRun(
142179
fixturePath.appending("Example"),
@@ -158,6 +195,13 @@ final class TraitTests: XCTestCase {
158195
}
159196

160197
func testTraits_whenAllTraitsEnabled() async throws {
198+
try XCTSkipOnWindows(
199+
because: """
200+
Error during swift Run Invalid path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
201+
""",
202+
skipPlatformCi: true,
203+
)
204+
161205
try await fixture(name: "Traits") { fixturePath in
162206
let (stdout, stderr) = try await executeSwiftRun(
163207
fixturePath.appending("Example"),
@@ -187,6 +231,13 @@ final class TraitTests: XCTestCase {
187231
}
188232

189233
func testTraits_whenAllTraitsEnabled_andDefaultTraitsDisabled() async throws {
234+
try XCTSkipOnWindows(
235+
because: """
236+
Error during swift Run Invalid path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
237+
""",
238+
skipPlatformCi: true,
239+
)
240+
190241
try await fixture(name: "Traits") { fixturePath in
191242
let (stdout, stderr) = try await executeSwiftRun(
192243
fixturePath.appending("Example"),
@@ -231,6 +282,12 @@ final class TraitTests: XCTestCase {
231282
}
232283

233284
func testTests_whenNoFlagPassed() async throws {
285+
try XCTSkipOnWindows(
286+
because: """
287+
Error during swift Run Invalid path. Possibly related to https://github.com/swiftlang/swift-package-manager/issues/8511 or https://github.com/swiftlang/swift-package-manager/issues/8602
288+
""",
289+
skipPlatformCi: true,
290+
)
234291
try await fixture(name: "Traits") { fixturePath in
235292
let (stdout, _) = try await executeSwiftTest(
236293
fixturePath.appending("Example"),

Tests/WorkspaceTests/ManifestSourceGenerationTests.swift

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ final class ManifestSourceGenerationTests: XCTestCase {
4141
toolsVersion: ToolsVersion,
4242
toolsVersionHeaderComment: String? = .none,
4343
additionalImportModuleNames: [String] = [],
44-
fs: FileSystem = localFileSystem
44+
fs: FileSystem = localFileSystem,
45+
file: StaticString = #file,
46+
line: UInt = #line,
4547
) async throws -> String {
4648
try await withTemporaryDirectory { packageDir in
4749
let observability = ObservabilitySystem.makeForTesting()
@@ -98,18 +100,18 @@ final class ManifestSourceGenerationTests: XCTestCase {
98100

99101
// Check that all the relevant properties survived.
100102
let failureDetails = "\n--- ORIGINAL MANIFEST CONTENTS ---\n" + manifestContents + "\n--- REWRITTEN MANIFEST CONTENTS ---\n" + newContents
101-
XCTAssertEqual(newManifest.toolsVersion, manifest.toolsVersion, failureDetails)
102-
XCTAssertEqual(newManifest.displayName, manifest.displayName, failureDetails)
103-
XCTAssertEqual(newManifest.defaultLocalization, manifest.defaultLocalization, failureDetails)
104-
XCTAssertEqual(newManifest.platforms, manifest.platforms, failureDetails)
105-
XCTAssertEqual(newManifest.pkgConfig, manifest.pkgConfig, failureDetails)
106-
XCTAssertEqual(newManifest.providers, manifest.providers, failureDetails)
107-
XCTAssertEqual(newManifest.products, manifest.products, failureDetails)
108-
XCTAssertEqual(newManifest.dependencies, manifest.dependencies, failureDetails)
109-
XCTAssertEqual(newManifest.targets, manifest.targets, failureDetails)
110-
XCTAssertEqual(newManifest.swiftLanguageVersions, manifest.swiftLanguageVersions, failureDetails)
111-
XCTAssertEqual(newManifest.cLanguageStandard, manifest.cLanguageStandard, failureDetails)
112-
XCTAssertEqual(newManifest.cxxLanguageStandard, manifest.cxxLanguageStandard, failureDetails)
103+
XCTAssertEqual(newManifest.toolsVersion, manifest.toolsVersion, "toolsVersion not as expected" + failureDetails, file: file, line: line)
104+
XCTAssertEqual(newManifest.displayName, manifest.displayName, "displayName not as expected" + failureDetails, file: file, line: line)
105+
XCTAssertEqual(newManifest.defaultLocalization, manifest.defaultLocalization, "defaultLocalization not as expected" + failureDetails, file: file, line: line)
106+
XCTAssertEqual(newManifest.platforms, manifest.platforms, "platforms not as expected" + failureDetails, file: file, line: line)
107+
XCTAssertEqual(newManifest.pkgConfig, manifest.pkgConfig, "pkgConfig not as expected" + failureDetails, file: file, line: line)
108+
XCTAssertEqual(newManifest.providers, manifest.providers, "providers not as expected" + failureDetails, file: file, line: line)
109+
XCTAssertEqual(newManifest.products, manifest.products, "products not as expected" + failureDetails, file: file, line: line)
110+
XCTAssertEqual(newManifest.dependencies, manifest.dependencies, "dependencies not as expected" + failureDetails, file: file, line: line)
111+
XCTAssertEqual(newManifest.targets, manifest.targets, "targets not as expected" + failureDetails, file: file, line: line)
112+
XCTAssertEqual(newManifest.swiftLanguageVersions, manifest.swiftLanguageVersions, "swiftLanguageVersions not as expected" + failureDetails, file: file, line: line)
113+
XCTAssertEqual(newManifest.cLanguageStandard, manifest.cLanguageStandard, "cLanguageStandard not as expected" + failureDetails, file: file, line: line)
114+
XCTAssertEqual(newManifest.cxxLanguageStandard, manifest.cxxLanguageStandard, "cxxLanguageStandard not as expected" + failureDetails, file: file, line: line)
113115

114116
// Return the generated manifest so that the caller can do further testing on it.
115117
return newContents
@@ -282,6 +284,10 @@ final class ManifestSourceGenerationTests: XCTestCase {
282284
}
283285

284286
func testPackageDependencyVariations() async throws {
287+
try XCTSkipOnWindows(
288+
because:"Intermittently fails",
289+
skipPlatformCi: true,
290+
)
285291
let manifestContents = """
286292
// swift-tools-version:5.4
287293
import PackageDescription

0 commit comments

Comments
 (0)