Clean up test infrastructure#41880
Conversation
dfb1273 to
5d022d7
Compare
|
Most of the failures seem to be because I messed up the RAM requirements. I'm going to minimize the RAM requirements on all the shards and then increase them until each shard works. |
20dc493 to
cc0689a
Compare
Codecov Report
@@ Coverage Diff @@
## master #41880 +/- ##
========================================
- Coverage 60.89% 59.89% -1%
========================================
Files 194 194
Lines 18919 18919
========================================
- Hits 11520 11331 -189
- Misses 7399 7588 +189
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
I this empty container block messes the execution. Will add a check to the parser in the meantime.
|
Aah! I was wondering if that would break things. It seemed like it should work, based on the YAML spec and the lack of error message about parse errors. :-) I'll fix it. |
5af979c to
9f34245
Compare
50b3a2f to
4fa532b
Compare
0a907b2 to
0467e0b
Compare
There was a problem hiding this comment.
Should _runFlutterTest() always just do a pass with --track-widget-creation and a pass with --no-track-widget-creation?
There was a problem hiding this comment.
that could get pretty expensive. What bugs are you hoping to catch?
There was a problem hiding this comment.
I was just reacting to the fact that we seem to be calling it with both of those flags in many places already.
There was a problem hiding this comment.
some places, yeah. intentionally not all though.
There was a problem hiding this comment.
If we ever add a new directory that matches packages/flutter/test/**/widgets, its tests will silently never be run...
There was a problem hiding this comment.
unless i misunderstand, i don't believe that's an issue; recursive is false
There was a problem hiding this comment.
Ah, I missed the recursive:false - nevermind.
There was a problem hiding this comment.
Can you make sure that this cleanup will yield Cirrus tests that pass on dev, beta, and stable? Right now, we have tests that are guaranteed to fail on those channels (e.g. because Flutter for web is disabled on non-master).
There was a problem hiding this comment.
I'm not sure how to test that short of actually doing a release.
There was a problem hiding this comment.
You could temporarily (with no intention of submitting) edit the tools logic for what channel you're on to synthesize fake runs of dev|beta|stable. I leave it up to you on whether that churn of git push, wait, repeat is worth it.
There was a problem hiding this comment.
Why shuffle it at all if we're going to hard code the seed?
There was a problem hiding this comment.
I'm not sure what Ian's motivation was, but I like this change because randomizing should break up clusters of big tests making sharding more effective.
There was a problem hiding this comment.
Might be worth a comment explaining why this is done.
There was a problem hiding this comment.
yeah you want to shuffle so that the average cost-per-file is uniform.
i'll add a comment.
There was a problem hiding this comment.
Also if changes include 'packages/flutter_web_plugins/***'
91ac939 to
7536502
Compare
There was a problem hiding this comment.
Where is $CIRRUS_USER_COLLABORATOR set?
If it's set by Cirrus, is there a documentation page we can link to at the top of this YAML file?
There was a problem hiding this comment.
Here is a link to all variable set by Cirrus: https://cirrus-ci.org/guide/writing-tasks/#environment-variables
There was a problem hiding this comment.
Comment why you chose CPU:3
(and below)
There was a problem hiding this comment.
It looks like we can probably remove key now (it looks like we never set $SHARD or $SUBSHARD anymore).
There was a problem hiding this comment.
I'll add a comment. It's useful when doing local testing so you can run a whole shard (or a specific shard+subshard) without having to figure out the corresponding task name.
There was a problem hiding this comment.
We were doing some gymnastics before to restore the values of these env variables after the tests were done. Is that not necessary?
There was a problem hiding this comment.
Not as far as I can tell. Nothing runs after.
There was a problem hiding this comment.
Should these not use backslashes?
There was a problem hiding this comment.
I guess not? These are unchanged from before.
There was a problem hiding this comment.
It looks like we run this for every MacOS task. Should we just put it in the setup_script that pertains to all tasks?
There was a problem hiding this comment.
It has to run in the same shell as the script that uses a lot of files.
There was a problem hiding this comment.
This looks SOOO much better. Note, however, that I didn't check to make sure that this PR doesn't accidentally drop any shards that we were running before.
There was a problem hiding this comment.
You can say recursive: true and not need the existsSync() check
There was a problem hiding this comment.
Looks like you were wrong. :-)
https://cirrus-ci.com/task/6550651382792192?command=main#L104
There was a problem hiding this comment.
It happens to the best of us. I even wrote a test that shows what the behavior is 😄
There was a problem hiding this comment.
I wish enums could have properties & methods like they can in Java.
9a2d736 to
c69e00e
Compare
This reverts commit 1781d5c.
See flutter#41880 for history.
This reverts commit 1781d5c.
See flutter#41880 for history.
Uh oh!
There was an error while loading. Please reload this page.