-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
[cookie-store] Improve cleanup logic #14364
[cookie-store] Improve cleanup logic #14364
Conversation
Ensure that the test is not considered "complete" until after the cleanup logic has been executed.
Use the recently-implemented asynchronous cleanup functionality of testharness.js to ensure that cleanup logic executes regardless of the passing/failing status of the test. Rejected promises during cleanup will not prompt test failure, but they will cause the harness to report an error.
It looks like these tests are still unstable even with my patch applied. I tried to reproduce the instability locally using the following command:
...but that didn't catch anything on my local system (Chromium 70.0.3538.77) or in the Docker image used by Taskcluster (Google Chrome 72.0.3622.0 dev). Even the exact command reported in the Taskcluster logs (too lengthy to post here) didn't demonstrate the instability. Those
It's strange that the container has no swap memory, but I'm not sure that's a problem. It doesn't seem as though we'd need to do any paging with 28 gigabytes of free memory. Unfortunately, I can't replicate that condition via Docker running on my system due to kernel limitations. @Hexcles do you have thoughts on any of this? |
Right, our Docker containers don't have swap, which shouldn't have any negative affects. We should never use anything even close to the total available memory (guaranteed to be at least 8GB). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Thank you very much for the cleanup! I don't know what's up with the bots, but this looks like a step forward for the tests.
This was addressed in Chromium directly and merged to WPT via gh-17949. I've verified that patch addressed all of the instances of asynchronous cleanup that we identified here. It's good that the change eventually made it through stability checks! |
While researching for a WPT infrastructure project, I found these tests to be behaving erratically. In a handful of cases, the cleanup invocation was not properly awaited. Since we've been meaning to take advantage of the new "async cleanup" functionality, I took the opportunity to use that API. I'm submitting this in two commits to make the bug fix easier to identify.
To validate this change set, I ran the tests in Chromium (70.0.3538.77) on
master
(3960fff) and on this branch via the commandThe results were identical:
On master:
With patch applied: