-
Notifications
You must be signed in to change notification settings - Fork 40
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
Muter hangs when mutation change causes test hang #279
Comments
Hello @aim2120 and thank you for reporting this 🙌 Have you tried executionTimeAllowance? In addition, as a developer, I would like an opt-in way to force muter to exclude specific code from mutation. I imagine it like the following: await withCheckedContinuation { continuation in
fetchMessages { messages in
// muter: skip
continuation.resume(returning: messages)
}
} |
Hey @Nikoloutsos thanks for the response! Unfortunately Honestly, the best solution I see is to allow muter to enable timeouts itself via config. That way muter can guarantee that it will complete, regardless of the behavior of the test executable. I was trying some stuff out locally and it seems |
hi @aim2120, could you provide a brief code snippet where I can reproduce the issue and check if the flags are enough? |
Sure, here's an SPM library that hangs when you run So there's actually a few negatives about the flags
How would you feel about introducing timeouts to muter itself? This could be configured via the muter config, with a default value of |
Oh, and just to reiterate what I said in my previous comment: I'm hoping to unlock using muter across many projects contributed to by multiple developers, so it's not feasible for me to figure out exactly which lines of code are potential hang points for mutations. |
relates to #200 |
Hi all, sorry for all the recent posts, but I wanted to report another issue I'm observing when running muter.
Sometimes, muter will cause a certain async code path to not be fulfilled and cause a test hang. An example of this is when using
withCheckedContinuation
and the side effect of calling the continuation resume is removed.I would love to be able to pass
-test-timeouts-enabled
and-maximum-test-execution-time-allowance
to the xcodebuild command via the muter config, but muter appears to manipulate thetest-without-building
arguments such that I cannot pass additional arguments like this.Would you be open to a PR to allow for additional arbitrary arguments to be used for
test-without-building
? Another option would be to implement timeouts directly in the muter config.The text was updated successfully, but these errors were encountered: