-
Notifications
You must be signed in to change notification settings - Fork 42
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
Add support for swift-testing #757
Labels
Comments
I'll take this. |
plemarquand
added a commit
to plemarquand/vscode-swift
that referenced
this issue
Apr 24, 2024
If the LSP is available and supports the two requests for listing tests then use those to discover tests in the workspace/document. If these requests are unsupported or if they fail, fall back to the existing methods. This patch uses the existing code to leverage the LSP's workspace/tests method and adds the textDocument/tests for listing tests within documents as they change. These requests produce a collection of TestClass structures, which are hierarchical. These are passed to one of the methods in TestDiscovery.ts which diffs against the existing tree and adds/removes tests. This is similar to how it already worked, but now supports arbitrary levels of nesting in the TestClass structure. This patch also adds preliminary support for listing swift-testing tests through the LSP methods, as well as through `swift test --list-tests`. It does not support finding swift-testing tests through the document symbols. Another small improvement is if listing tests fails via `swift test --list-tests` we'll attempt a `swift build --build-tests` before trying again. If the user was on the 5.10 toolchain and no build had yet been performed they would get an error. Swift-testing tests are filtered out of the list of available tests until code is added to run them. This will be added with swift-server#757. - Adds tests for parsing the results of `swift test --list-tests` - Adds tests for parsing tests via document symbols This patch addresses both swift-server#761 and swift-server#762.
plemarquand
added a commit
to plemarquand/vscode-swift
that referenced
this issue
Apr 29, 2024
If the LSP is available and supports the two requests for listing tests then use those to discover tests in the workspace/document. If these requests are unsupported or if they fail, fall back to the existing methods. This patch uses the existing code to leverage the LSP's workspace/tests method and adds the textDocument/tests for listing tests within documents as they change. These requests produce a collection of TestClass structures, which are hierarchical. These are passed to one of the methods in TestDiscovery.ts which diffs against the existing tree and adds/removes tests. This is similar to how it already worked, but now supports arbitrary levels of nesting in the TestClass structure. This patch also adds preliminary support for listing swift-testing tests through the LSP methods, as well as through `swift test --list-tests`. It does not support finding swift-testing tests through the document symbols. Another small improvement is if listing tests fails via `swift test --list-tests` we'll attempt a `swift build --build-tests` before trying again. If the user was on the 5.10 toolchain and no build had yet been performed they would get an error. Swift-testing tests are filtered out of the list of available tests until code is added to run them. This will be added with swift-server#757. - Adds tests for parsing the results of `swift test --list-tests` - Adds tests for parsing tests via document symbols This patch addresses both swift-server#761 and swift-server#762.
plemarquand
added a commit
that referenced
this issue
Apr 29, 2024
* Discover tests via LSP if available If the LSP is available and supports the two requests for listing tests then use those to discover tests in the workspace/document. If these requests are unsupported or if they fail, fall back to the existing methods. This patch uses the existing code to leverage the LSP's workspace/tests method and adds the textDocument/tests for listing tests within documents as they change. These requests produce a collection of TestClass structures, which are hierarchical. These are passed to one of the methods in TestDiscovery.ts which diffs against the existing tree and adds/removes tests. This is similar to how it already worked, but now supports arbitrary levels of nesting in the TestClass structure. This patch also adds preliminary support for listing swift-testing tests through the LSP methods, as well as through `swift test --list-tests`. It does not support finding swift-testing tests through the document symbols. Another small improvement is if listing tests fails via `swift test --list-tests` we'll attempt a `swift build --build-tests` before trying again. If the user was on the 5.10 toolchain and no build had yet been performed they would get an error. Swift-testing tests are filtered out of the list of available tests until code is added to run them. This will be added with #757. - Adds tests for parsing the results of `swift test --list-tests` - Adds tests for parsing tests via document symbols This patch addresses both #761 and #762. * Update comments * Member accessed tags no longer have a leading . * Properly check if experimental lsp caps exist * Append target to swift-testing test ids * Refactor out common LSP capability check * Rename transform to transformToTestClass * No need to filter workspace tests to the workspace * Cache caps checks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The extension should support discovering and executing tests defined via swift-testing. XCTests should continue to work alongside this functionality.
The text was updated successfully, but these errors were encountered: