-
Notifications
You must be signed in to change notification settings - Fork 747
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
[SYCL][E2E] Add option to build tests on run-only mode if marked as REQUIRES: build-and-run-mode
#16306
[SYCL][E2E] Add option to build tests on run-only mode if marked as REQUIRES: build-and-run-mode
#16306
Changes from 2 commits
a61495f
ca76a74
ad80c2e
09db374
fbbbd8e
d30d2a5
1b79472
3f80c04
5d8ce83
7c98bf7
caaeaf1
0d4d13c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -154,10 +154,14 @@ def execute(self, test, litConfig): | |
if isinstance(script, lit.Test.Result): | ||
return script | ||
|
||
unsplit_test = False | ||
if "build-and-run-mode" in test.requires: | ||
unsplit_test = True | ||
|
||
devices_for_test = [] | ||
triples = set() | ||
if test.config.test_mode == "build-only": | ||
if "build-and-run-mode" in test.requires or "true" in test.unsupported: | ||
if unsplit_test or "true" in test.unsupported: | ||
return lit.Test.Result( | ||
lit.Test.UNSUPPORTED, "Test unsupported for this environment" | ||
) | ||
|
@@ -232,7 +236,7 @@ def get_extra_env(sycl_devices): | |
continue | ||
|
||
# Filter commands based on split-mode | ||
is_run_line = any( | ||
is_run_line = unsplit_test or any( | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. sorry so is this saying we still will report it as UNSUPPORTED by try to compile it anyway? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. on There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. sorry, i must be missing it. where is the code that would have marked it unsupported before but now passes? the line changed here on 164 seems like it would have not been hit ever because of the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So in build-only mode I needed to explicitly check for it to mark as unsupported because other features are not taken into account, for run-only mode it was originally marked as unsupported because the mode did not have the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ah i see thx |
||
i in directive.command | ||
for i in ["%{run}", "%{run-unfiltered-devices}", "%if run-mode"] | ||
) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -45,6 +45,7 @@ | |
elif config.test_mode == "run-only": | ||
lit_config.note("run-only test mode enabled, only executing tests") | ||
config.available_features.add("run-mode") | ||
config.available_features.add("build-and-run-mode") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. just looking at the if-else, adding this seems weird. is there another way to achieve the result while keeping the features accurate? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yep, I had my doubts about doing it this way. I think we have three options here not too sure what would be preferred. 1 - Introduce a testing-mode that does what this pr is making Personally I like option 3 the best but didn't want to jump to it right away without some discussion since it would require me to change the usage of build-and-run-mode in all the tests. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. so about option 3, does that mean we always execute build for There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. With this pr as is we will compile tests that are currently marked with The list of tests that are marked as splitting exceptions would not change, we would just need to update how they are marked. Also should point out the motivation for this change is so that if we are replacing one of the ci jobs that tests in full mode with split build and run, that we retain the same test coverage on the run-only side. (Working on these changes here #16321) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. i prefer option 3, not sure about @aelovikov-intel or @uditagarwal97 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. IMO, don't fix this, at least don't do any long-term fixes. The reason we have The priority should be switching gen12 precommit to this new mode first and asap. If we have to exclude 50 or so tests from it, let it be. 12vs40 mins justify that. We'll keep full coverage in a) post-commit/nightly, b) once e2e on PVC is re-enabled (someone is working on this, right?). Now, if we want to enable something like this for the very short-term, let it be, and it doesn't matter much how exactly because it would be temporary anyway. I'd personally introduce a separate option like There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. thats also fine with me There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ok i've enabled this through a parameter instead. |
||
elif config.test_mode == "build-only": | ||
lit_config.note("build-only test mode enabled, only compiling tests") | ||
config.sycl_devices = [] | ||
|
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 don't know why, but something in me has a really huge dislike towards "unsplit" anywhere in regard to this feature...
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.
Changed it to
ignore_line_filtering
, is that better?