Skip to content

Commit aa09c06

Browse files
committed
Support Swift Testing
1 parent df9f07e commit aa09c06

2 files changed

Lines changed: 13 additions & 2 deletions

File tree

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 5.9
1+
// swift-tools-version: 5.10
22
import PackageDescription
33

44
let package = Package(

Plugins/SkipPlugin/SkipPlugin.swift

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ import PackagePlugin
267267
let sourceBase = URL(fileURLWithPath: isTest ? "src/test" : "src/main", isDirectory: true, relativeTo: outputBase)
268268

269269
var buildArguments = [
270-
"transpile",
270+
"skipstone",
271271
"--project", swiftSourceTarget.directory.string,
272272
"--skip-folder", skipFolder.string,
273273
"--sourcehash", sourcehashOutputPath.string,
@@ -344,6 +344,17 @@ import PackagePlugin
344344
appendArguments(["--skip-bridge-output", skipBridgeOutputDir.string])
345345
}
346346

347+
// auto-generate XCSkipTests.swift test harness for test targets that don't already have one
348+
if isTest {
349+
let hasTestHarness = target.sourceFiles(withSuffix: "swift").contains(where: { $0.path.lastComponent == "XCSkipTests.swift" })
350+
if !hasTestHarness {
351+
let testHarnessOutputDir = outputFolder.appending(subpath: "SkipTestHarness")
352+
let testHarnessPath = testHarnessOutputDir.appending(subpath: "XCSkipTests.swift")
353+
outputFiles.append(testHarnessPath)
354+
appendArguments(["--test-harness-output", testHarnessPath.string])
355+
}
356+
}
357+
347358
appendArguments(buildModuleArgs)
348359

349360
//Diagnostics.remark("invoke skip \(buildArguments.joined(separator: " "))")

0 commit comments

Comments
 (0)