swiftlang/swift-package-manager
Auf GitHub ansehenUpdate macro template to support Swift Testing tests
Open
#8.890 geöffnet am 2. Juli 2025
enhancementgood first issueswift package init
Repository-Metriken
- Stars
- (10.145 Stars)
- PR-Merge-Metriken
- (Durchschn. Merge 9T 13h) (90 gemergte PRs in 30 T)
Beschreibung
According to the SwiftPM code base, we are unable to use Swift Testing to verify macros. However, the referenced GitHub issue (https://github.com/swiftlang/swift-syntax/issues/2400) is closed.
The Swift Syntax 600 release notes mentions SwiftSyntaxMacrosGenericTestSupport.
Here is a snippet of the relevant Swift Syntax release notes
SwiftSyntaxMacrosGenericTestSupport
- Description: A version of the
SwiftSyntaxMacrosTestSupportmodule that doesn't depend onFoundationorXCTestand can thus be used to write macro tests usingswift-testing. Since swift-syntax can't depend on swift-testing (which would incur a circular dependency since swift-testing depends on swift-syntax), users need to manually specify a failure handler like the following, that fails the swift-testing test:Issue.record("\($0.message)", fileID: $0.location.fileID, filePath: $0.location.filePath, line: $0.location.line, column: $0.location.column)- Pull request: https://github.com/swiftlang/swift-syntax/pull/2647
The SwiftPM template for swift package init --type macro should be update to provide an idiomatic way to write a Swift Testing test to verify and validate a macro.