Skip to content

Commit 9445fc6

Browse files
committed
Extend assertMacroExpansion with an optional build configuration
1 parent c82775b commit 9445fc6

File tree

3 files changed

+12
-1
lines changed

3 files changed

+12
-1
lines changed

Package.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,7 @@ let package = Package(
328328
"_SwiftSyntaxGenericTestSupport",
329329
"SwiftDiagnostics",
330330
"SwiftIDEUtils",
331+
"SwiftIfConfig",
331332
"SwiftParser",
332333
"SwiftSyntaxMacros",
333334
"SwiftSyntaxMacroExpansion",

Sources/SwiftSyntaxMacrosGenericTestSupport/Assertions.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#if compiler(>=6)
1414
import SwiftBasicFormat
1515
public import SwiftDiagnostics
16+
public import SwiftIfConfig
1617
@_spi(FixItApplier) import SwiftIDEUtils
1718
import SwiftParser
1819
import SwiftParserDiagnostics
@@ -24,6 +25,7 @@ private import _SwiftSyntaxGenericTestSupport
2425
import SwiftBasicFormat
2526
import SwiftDiagnostics
2627
@_spi(FixItApplier) import SwiftIDEUtils
28+
import SwiftIfConfig
2729
import SwiftParser
2830
import SwiftParserDiagnostics
2931
import SwiftSyntax
@@ -497,6 +499,7 @@ public func assertMacroExpansion(
497499
testModuleName: String = "TestModule",
498500
testFileName: String = "test.swift",
499501
indentationWidth: Trivia = .spaces(4),
502+
buildConfiguration: (any BuildConfiguration)? = nil,
500503
failureHandler: (TestFailureSpec) -> Void,
501504
fileID: StaticString = #fileID,
502505
filePath: StaticString = #filePath,
@@ -509,7 +512,8 @@ public func assertMacroExpansion(
509512

510513
// Expand all macros in the source.
511514
let context = BasicMacroExpansionContext(
512-
sourceFiles: [origSourceFile: .init(moduleName: testModuleName, fullFilePath: testFileName)]
515+
sourceFiles: [origSourceFile: .init(moduleName: testModuleName, fullFilePath: testFileName)],
516+
buildConfiguration: buildConfiguration
513517
)
514518

515519
func contextGenerator(_ syntax: Syntax) -> BasicMacroExpansionContext {

Sources/SwiftSyntaxMacrosTestSupport/Assertions.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,14 @@
1111
//===----------------------------------------------------------------------===//
1212

1313
#if compiler(>=6)
14+
public import SwiftIfConfig
1415
public import SwiftSyntax
1516
public import SwiftSyntaxMacroExpansion
1617
public import SwiftSyntaxMacros
1718
@_spi(XCTestFailureLocation) public import SwiftSyntaxMacrosGenericTestSupport
1819
private import XCTest
1920
#else
21+
import SwiftIfConfig
2022
import SwiftSyntax
2123
import SwiftSyntaxMacroExpansion
2224
import SwiftSyntaxMacros
@@ -57,6 +59,7 @@ public func assertMacroExpansion(
5759
testModuleName: String = "TestModule",
5860
testFileName: String = "test.swift",
5961
indentationWidth: Trivia = .spaces(4),
62+
buildConfiguration: (any BuildConfiguration)? = nil,
6063
file: StaticString = #filePath,
6164
line: UInt = #line
6265
) {
@@ -71,6 +74,7 @@ public func assertMacroExpansion(
7174
testModuleName: testModuleName,
7275
testFileName: testFileName,
7376
indentationWidth: indentationWidth,
77+
buildConfiguration: buildConfiguration,
7478
file: file,
7579
line: line
7680
)
@@ -104,6 +108,7 @@ public func assertMacroExpansion(
104108
testModuleName: String = "TestModule",
105109
testFileName: String = "test.swift",
106110
indentationWidth: Trivia = .spaces(4),
111+
buildConfiguration: (any BuildConfiguration)? = nil,
107112
file: StaticString = #filePath,
108113
line: UInt = #line
109114
) {
@@ -117,6 +122,7 @@ public func assertMacroExpansion(
117122
testModuleName: testModuleName,
118123
testFileName: testFileName,
119124
indentationWidth: indentationWidth,
125+
buildConfiguration: buildConfiguration,
120126
failureHandler: {
121127
XCTFail($0.message, file: $0.location.staticFilePath, line: $0.location.unsignedLine)
122128
},

0 commit comments

Comments
 (0)