-
-
Notifications
You must be signed in to change notification settings - Fork 121
Introduce test filter flag to nextest archive command #2670
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
base: main
Are you sure you want to change the base?
Conversation
Filtersets can be used to reduce the amount of binaries archived in a test archive. NOTE: Test binaries are not executed to collect a test list. This prevents filtering by test.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #2670 +/- ##
==========================================
- Coverage 78.40% 77.62% -0.78%
==========================================
Files 107 107
Lines 24864 24977 +113
==========================================
- Hits 19495 19389 -106
- Misses 5369 5588 +219 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
set_env_vars(); | ||
|
||
let filters = ["all()", "none()", "package(cdylib-example)"]; | ||
let expected_file_counts = [27, 11, 12]; |
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.
This is brittle and it seems the file count varies per platform. I'll rewrite this once I have feedback on the implementation.
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.
This does vary by platform but doesn't change much. Instead can you scan the archive to ensure that the expected binaries are available and the others aren't?
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.
Looks quite good! Just a couple of comments.
test_filter_builder.filter_binary_match(test_artifact, &ecx, filter_bound), | ||
FilterBinaryMatch::Definite | FilterBinaryMatch::Possible |
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.
Rather than this I'd just reject test
predicates entirely, returning a FiltersetParseErrors
that contains all the errors (so you get a nice display). You could do it either at parsing time or as a pass afterwards (have a check_no_test_predicates
method or similar).
set_env_vars(); | ||
|
||
let filters = ["all()", "none()", "package(cdylib-example)"]; | ||
let expected_file_counts = [27, 11, 12]; |
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.
This does vary by platform but doesn't change much. Instead can you scan the archive to ensure that the expected binaries are available and the others aren't?
Filtersets can be used to reduce the amount of binaries archived in a test archive.
NOTE: Test binaries are not executed to collect a test list. This prevents filtering by test.
See feature request: #2648