Open
Description
According to the SwiftPM code base, we are unable to use Swift Testing to verify macros. However, the referenced GitHub issue (swiftlang/swift-syntax#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
SwiftSyntaxMacrosTestSupport
module that doesn't depend onFoundation
orXCTest
and 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: Implement a version of
SwiftSyntaxMacrosTestsSupport
that is framework agnostic swift-syntax#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.