-
Notifications
You must be signed in to change notification settings - Fork 618
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
Handle timed out tests in CI / display reasonable data about failed tests in CI #3963
Comments
@matklad do you have any good suggestions for this issue? |
I have a negative result here: in Rust, only cooperative cancellation is possible. That is, each test should enforce its own timeout (but of course we can abstract this in some kind of library function). So I'd treat a hanging test as a bug in the test itself, and would fix the test to fail with a timeout error, before fixing the actual bug being exposed. We can, of course, have some kind of a wrapper process which kills the whole Separately, +1 for "if the test may work >60 seconds, put it to the Nightly, not CI". There are rust-lang/rust#75752 and rust-lang/rust#64663 (comment) which can help with finding out existing slow tests. |
Looks like there is no action item here. Closing |
If any test in CI gets stuck, the CI will be finished after 1 hour by buildkite termination. After that, the only way to understand what's happened is to:
This is very inconvenient way to get some basic knowledge about failed tests. I suggest to make tests handle their timeouts like catching_up.rs tests do OR (preferable) terminate them automatically after 60 seconds. I also propose a recommendation "if the test may work >60 seconds, put it to the Nightly, not CI". As we already can understand that test is running >60 seconds, it should be not a big deal to terminate it. :)
Ideally, I'd love to see friendly interface that says which tests failed with no grepping logs for specific substrings. Finding failed tests is routine operation that should be done many times per day, on each unsuccessful run of CI.
The text was updated successfully, but these errors were encountered: