-
Notifications
You must be signed in to change notification settings - Fork 6k
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
Add et query tests
and et test
commands
#51605
Conversation
/// | ||
/// We support: | ||
/// 1) Exact label matches (the '//' prefix will be stripped off). | ||
/// 2) '/...' suffix which selects all targets that match the prefix. |
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.
Running Windows tests with this syntax is a bit verbose:
et test flutter/shell/platform/windows/...
Some potential solutions:
- We support executable names as selectors. Windows tests become
et test flutter_windows_unittests
. - We support glob patterns. Windows tests become
et test **/windows/...
, running all tests becomeset test **/...
- We flatten the engine repo. Windows tests becomes
et test flutter/windows/...
Thoughts?
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.
What Bazel supports is being in a sub-directory, in other words:
cd shell/platform/windows
et test :flutter_windows_unittests
I'd be supportive of supporting that in et
(assuming GN is OK with it or it's easy to implement). I don't think we should create any other cute/creative short-hands.
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.
I just press "up" (or ctrl+R) in my terminal when I'm developing so I don't totally get the point that it's a lot to type.
I agree we should support the sub-directory workflow that Matan mentioned.
Also, if we get into a situation where we have to specify a bunch of subdirectories (et build/test subA/... subB/...) the fix might be reorganize the directory tree so that related code is near each other.
} | ||
// Drop the empty line at the end of the output. | ||
if (labels.isNotEmpty) { | ||
assert(labels.last.isEmpty); |
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.
FYI: Neither the et
wrapper script nor the unit tests run with --enable-asserts
. Do you want to add the flag to the unit tests in this PR?
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.
I would also be supportive of just making this an unconditional throw, since it's going to throw anyway.
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.
If we never run with --enable-asserts can we add a lint that will flag assert calls for us, or, start running with asserts enabled?
Also, made this a throw.
This is looking awesome, excellent work! |
ee91046
to
a1e3b83
Compare
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
- `et query tests` enumerates all test binaries encoded in BUILD.gn files. - `et test` (builds, then) runs a set of tests in parallel - Tests
…145946) flutter/engine@8b893cb...68aa9ba 2024-03-28 [email protected] [Impeller] dont clamp mipmap level to 0 with Vulkan textures. (flutter/engine#51761) 2024-03-28 [email protected] Add `et query tests` and `et test` commands (flutter/engine#51605) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll Please CC [email protected],[email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
et query tests
enumerates all test binaries encoded in BUILD.gn files.et test
builds, then, runs a set of tests in parallel