Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 new Pipeline for Running Libs Tests with TestReadyToRun #91229
Add new Pipeline for Running Libs Tests with TestReadyToRun #91229
Changes from 31 commits
58471ac
d424419
cbae83d
bbcbda5
74c393d
f39ec24
e76d7b2
800bf85
4888506
f95be94
ce0beb7
084dcd2
d6145d9
7a98a59
57a1ed0
9c9845c
201c744
0e5318e
94b209d
baf03ff
bd083f9
70a5310
29bdc40
0dafa7a
0987abf
c050621
21f95ef
59af6bb
52875a7
43eee05
4666ac0
79a9028
e95e20d
e857281
d193ab5
7a3a1d5
cd94d5a
3c54a84
879e5ea
11cdb6b
19bb85f
81cb9e3
47760b3
0728170
4262460
403a5f9
797f2c0
048d35e
9939472
033508d
54088ef
7a23788
7c97aa7
f54af82
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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 will run the test on the build machine. It is not how we run the tests. The tests should be sent to Helix to run instead.
It is also causing #94190. Build machines do not have all dependencies required by the tests.
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.
RunSmokeTestsOnly
will run exactly one test (System.Runtime.Tests) and nothing else. Each workload needs to define what the set of smoke tests looks like, or they only get System.Runtime.Tests. It almost doesn't seem worth to build the whole product just to run one test. Are there too many failures if RunSmokeTestsOnly is not specified? Or why do we restrict to smoke tests only? We typically run smoke tests on legs that run on all PRs by default. For on-demand legs we just run everything.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 see, thanks for explaining this Michal. I set it to
-p:RunSmokeTestsOnly=true
because that's what the base templates I used to figure out how this works had. But I will remove it then in this case.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 doesn't look like a per-test setting - should this go to a place where we define what
TestReadyToRun
means in general?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 question still remains for me. Why do we remove these tests at compile item instead of conditioning them out at run time? That's unusual.
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.
Sorry Viktor, it was the only way I knew of excluding tests. I will remove these item groups now that Michal showed me how we exclude libraries tests.
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 not how we do test exclusions in this repo.
We exclude failing tests with an
ActiveIssue
attribute. For example:runtime/src/mono/wasm/debugger/DebuggerTestSuite/SetNextIpTests.cs
Line 116 in 848c729
We need some way to detect the test was ReadyToRun compiled so that the ActiveIssue can be conditioned on that.
I would add a
PlatformDetection.IsReadyToRunCompiled
here: https://github.com/dotnet/runtime/blob/848c729ca44f3ae651ecd4672d40111508770450/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.csAs for the implementation, I don't know if we have a good API to detect this, but in the worst case, one could set an environment variable in the single file test runner and check for that:
#define
constant somewhere around here that is set for TestReadyToRun only:runtime/eng/testing/tests.singlefile.targets
Lines 66 to 68 in 848c729
#ifdef
) to somewhere around here:runtime/src/libraries/Common/tests/SingleFileTestRunner/SingleFileTestRunner.cs
Lines 30 to 31 in 848c729
PlatformDetection.IsReadyToRunCompiled
by reading the environment variable.[ActiveIssue("https://...", typeof(PlatformDetection), nameof(PlatformDetection.IsReadyToRunCompiled))]
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.
Thank you very much for the detailed explanation Michal. I didn't know about this way of excluding tests, so I just went the route that we have in coreclr with
issues.targets
. I'm not sure we have a way of detecting the R2R-compilation of the tests, so I will take your suggestion of the environment variable. I will also then file a tracking issue to add this functionality.