-
Notifications
You must be signed in to change notification settings - Fork 29.8k
[devicelab] reduce iterations, uninstall at end, and use --application-binary in all startup tests #68516
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
[devicelab] reduce iterations, uninstall at end, and use --application-binary in all startup tests #68516
Conversation
|
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat. Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
|
|
||
| const int iterations = 15; | ||
| final Device device = await devices.workingDevice; | ||
| const int iterations = 5; |
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.
jmagman
left a comment
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
@liyuqian can comment on the concrete impact of the increased data average noice.
Even if it NEEDS to be left at 15 for some reason, the rest seems like a good improvement.
|
if it needs to be 15, then it should be restricted to one important test case. Right now this effects 11 tests, so its a large resource increase to the devicelab |
|
All start_up tests seem to be quite noisy to me, and they're of similar importance. I think the best way forward is to reduce the iteration time so we can do a startup iteration in ~10 second so maybe we can do 50 iterations to further reduce the noise without depleting the device lab. |
|
We're never going to be able to do an iteration in 10 seconds |
|
For fun I ran this change on an iPhone 6 with 15 iterations and it reduced |
|
Additionally, even if our launch was 99% reliable, running it 50 times would mean that at least one run would fail about 40% of the time. |
This looks promising. If I understand it correctly, this is 2.87 seconds/iteration which is much faster than my 10 seconds/iteration goal?
We could write the benchmark in a way to ignore a certain proportion of failures and only use the successful ones to compute the average. But as a developer, I'd really love to increase the reliability as much as possible (e.g., |
Description
These devicelab tests are incredibly flaky. Currently they will build & install the same application 15 times. This causes the temp storage to fill up on android, and has a good chance of flaking on iOS due to install issues.
The change from 3 to 15 increased total test time for 2 -> 12 minutes on iOS, or roughly 5 more test equivalents for every single iOS test. Reduce the iteration count back to 5
Uninstall the app after each run so temp storage does not fill up.