fix(tests): close page before server #3097
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Another attempt at solving the CI timeouts.
#3056 fixed teardown errors by closing the server correctly, but that was only a symptom. These errors started popping up, especially in the
ssr-react
/ssr-vue
tests:When analysing the times between
server.close()
finishing andAsync callback
errors being created, it was within milliseconds, no matter whether I had 10 s or 15 s configured as the timeout locally.My understanding is that the server tries to close, but an open page attempts to keep the connection open, ending in an endless cycle. This would explain the immediate close success milliseconds after Jest gives up (and thus quits Playwright).
Additional context
Before this change, I could reliably reproduce the error locally (Node 14, macOS 11) by running:
Additionally, it looks like there are some issues with the page refreshing. Setting
DEBUG=pw:api
reveals logs such as these:And running
results in some flickering behaviour in the headed Playwright/Chromium instance. Maybe a hint for the next bug hunt.
What is the purpose of this pull request?
Before submitting the PR, please make sure you do the following
fixes #123
).