-
Notifications
You must be signed in to change notification settings - Fork 105
Include code comments before expectations which are preceded by try/await in recorded issues #1092
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
stmontgomery
merged 3 commits into
swiftlang:main
from
stmontgomery:expect-effect-comments
Apr 24, 2025
Merged
Include code comments before expectations which are preceded by try/await in recorded issues #1092
stmontgomery
merged 3 commits into
swiftlang:main
from
stmontgomery:expect-effect-comments
Apr 24, 2025
+79
−2
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@swift-ci please test |
briancroom
approved these changes
Apr 23, 2025
suzannaratcliff
approved these changes
Apr 23, 2025
grynspan
requested changes
Apr 23, 2025
…wait in recorded issues
2eb4b3b
to
47951ff
Compare
@swift-ci please test |
grynspan
requested changes
Apr 24, 2025
Sources/TestingMacros/Support/EffectfulExpressionHandling.swift
Outdated
Show resolved
Hide resolved
@swift-ci please test |
grynspan
approved these changes
Apr 24, 2025
The macOS and Linux CI failures are expected to be resolved by swiftlang/swift#80830, but the release of a new |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
bug
🪲 Something isn't working
issue-handling
Related to Issue handling within the testing library
macros
🔭 Related to Swift macros such as @Test or #expect
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes an issue where code comments placed before an expectation like
#expect()
which has effect introducer keywords liketry
orawait
are ignored, and ensures they are included in the recorded issue if the expectation fails.Consider this example of two failing expectations:
Prior to this PR, if
x()
returned a value other than2
, there would be two issues recorded, but the second one would not have the comment“Uh oh!”
because from the macro’s perspective, that code comment was on thetry
keyword and it could only see trivia associated with#expect()
.Now, with the recent swift-syntax fix from swiftlang/swift-syntax#3037, the
try
keyword and its associated trivia can be included and this bug can be fixed. We recently adopted a new-enough swift-syntax in #1069, so the only fix needed is to adoptlexicalContext
for this new purpose in our macro.Checklist: