Skip to content

Update macro template to support Swift Testing tests #8890

Open
@bkhouri

Description

@bkhouri

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 on Foundation or XCTest and can thus be used to write macro tests using swift-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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions