Skip to content

Conversation

@taras
Copy link
Member

@taras taras commented Nov 2, 2025

Motivation

Watch tests are flaky because they spawn processes but they don't wait for those processes to finish. They eventually get cleaned up but in v4, they clean up after deno test finishes. Although, we didn't want to have an explicity kill on process to nudge people to rely on implicit cancellation, explicit kill is helpful in situations where you need to force kill as I do here.

Approach

Add a kill function to process.

@taras taras force-pushed the tm/allow-killing-process branch from f2bcade to e5a9854 Compare November 2, 2025 16:41
@taras taras requested a review from cowboyd November 2, 2025 16:43
@cowboyd
Copy link
Member

cowboyd commented Nov 2, 2025

This feels like a scoping problem however. Why not just restrict the scope of the process to be within that of the test? If the test scope is outliving the deno test process, then it seems to me like we have a bug in the test adapter, no?

@taras
Copy link
Member Author

taras commented Nov 3, 2025

it occurred to me that it might be a test adapter bug. essentially, we have processes that are not finished their cleanup when tests finished.

it seems to happen when an asssetion is at the end of the test (which is the case in almost all tests) but it only shows itself with complex async operations and only with v4, v3 seems very stable.

i'll take a look at the test adapter to see if anything jumps out.

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.

3 participants