-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
JS tests are flaky #2549
Comments
Getting the same error on my latest commit merged to main |
Thanks @max-heller, let's disable this test for now! |
I'm not entirely sure yet how to proceed from here. I would like to test the playground, as this is an important bit of the course book - but I also don't want to have flaky tests that don't have anything to do with regular commits.
|
That would be my first suggestion too. If there are some timeouts we can adjust across the board, then we should do that. If there are retries we can enable easily, then we should do that too. |
Regarding timeouts, there is our own 15 second timeout: comprehensive-rust/theme/book.js Line 31 in 3cca473
But there are also HTTP 500 results from the playground server with this body: {"error":"The operation timed out: deadline has elapsed"} I also noticed that if the second variant occurs, this can occur multiple times - so retrying is not likely to succeed... We could try to determine if we get any of the above error situations in the tests and ignore them explicitly - these results are most likely not due to issues on our side so our test infrastructure should not fail (but log warnings) |
Is it possible to adjust the browser automation to intercept the |
that is the mocking approach that I mentioned above. Unfortunately I noticed that |
The official playground quite often provides a timeout error as in #2549 This is mocking/overriding the response from the playground for success and failure messages to avoid the server provided timeouts. As far as I see most responses from the playground are delivered below 10 seconds (but varies a lot...) There still might be timeouts and I know of the following knobs that can be tuned - wdio waits for 10 seconds until it aborts the current attemp (e.g. to wait for the text to be as expected) https://github.com/google/comprehensive-rust/blob/347de61d13f7a75506cd2639c216cc1afc1995c5/tests/wdio.conf.ts#L98 - another timeout is the 15 second timeout for fetching the result from the playground - this is not overriden by the mock (currently, pending webdriverio/webdriverio#14090 which would allow for an immediate mock response without waiting for the remote endpoint) https://github.com/google/comprehensive-rust/blob/347de61d13f7a75506cd2639c216cc1afc1995c5/theme/book.js#L31
The new JS test is from #2513 (cc @michael-kerscher). We might need to disable it for now if it turns out to be flaky.
Originally posted by @mgeisler in #2548 (comment)
The text was updated successfully, but these errors were encountered: