Skip to content

Conversation

sksamuel
Copy link
Member

@sksamuel sksamuel commented Jul 1, 2025

If we move to KSP we can use a stable and supported API and not the experimental compiler plugins. This means we shouldn't have to keep making changes each time a new version of Kotlin is released.

This implementation brings full nested test support to JS and Native.

Also individual tests are now working from intellij for JS platforms, so can you click the run button and run a single test. I still need to confirm that we can do the same for Kotlin Native.

image

There are some further changes required to robust this up that I'll do in follow up PRs.

@sksamuel sksamuel requested a review from a team as a code owner July 1, 2025 11:49
@sksamuel
Copy link
Member Author

sksamuel commented Jul 1, 2025

Native support can run individual tests too now

image

@sksamuel sksamuel merged commit 6f7df3b into master Jul 1, 2025
7 checks passed
@sksamuel sksamuel deleted the sks/ksp branch July 1, 2025 17:12
Kantis pushed a commit to JesusMcCloud/kotest that referenced this pull request Jul 12, 2025
If we move to KSP we can use a stable and supported API and not the
experimental compiler plugins. This means we shouldn't have to keep
making changes each time a new version of Kotlin is released.

This implementation brings full nested test support to JS and Native. 

Also individual tests are now working from intellij for JS platforms, so
can you click the run button and run a single test. I still need to
confirm that we can do the same for Kotlin Native.


![image](https://github.com/user-attachments/assets/e6b9ba86-3d11-4902-af6b-0fa7ffc91c1f)

There are some further changes required to robust this up that I'll do
in follow up PRs.
@codymikol
Copy link
Contributor

Hey, for my own understanding, it looks like this is basically

Finding classes to run
Parsing together a kotlin file on the fly that imports those packages and runs them with the TestEngineLauncher

What is the reason for parsing a file out like that instead of just pulling it off the classpath?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants