-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
July infra rollout: move tests shared between coreclr and mono from src/coreclr/tests/src to src/tests #37440
Comments
Is this just going to involve a lot of updating paths? Or are there more substantive changes involved? |
@jkotas what's your stance on the new path? Are you in favor of |
@naricc - I believe we should just "update the paths" in this one step and tackle any deeper semantic changes regarding test execution later. I think that even in its limited extent this will be a bit of fun :-). |
|
My thoughts:
So my pick would be Separately, it would be great to make it easier to write XUnit-like tests under this sub-tree. There is a hand-rolled xunit runner that is used to author tests like https://github.com/dotnet/runtime/blob/master/src/coreclr/tests/src/Interop/ICustomMarshaler/Primitives/ICustomMarshaler.cs#L46 . It works, but I think there are opportunities to make it work better. |
It feels a bit confusing to me that a Or at the very least explain in the |
I do not think |
Thanks everyone for your initial feedback. I like @jkotas' counterproposal to my original suggestion and I'm completely fine going with it. According to my understanding of his suggestion, we should basically map today subfolders of As a first cut we can just move the test source code and keep the scripts under For now I treat this as the champion proposal. If anyone believes they have a more reasonable suggestion, feel free to chime in and we can do some voting via emojis :-). |
As a slight update I'm starting to think that it would be useful to have another intermediate folder level under src/tests, something like src/tests/runtime, the rationale being that CoreCLR test processing is based on scanning a folder subtree; once we start adding e.g. installer tests to the folder, it's going to be much easier to filter out those tests that are supposed to be run via the CoreCLR / Mono "runtime test harness" no matter how the meaning of this term is going to evolve. |
I do not see a fundamental difference between e.g. interop tests and installer tests. Why can't all be discovered using the same folder scanning? |
Well, at the very least they use different test harnesses today. I'm not against unifying them over time but doing all that in one fell swoop is beyond my imagination logistically. I may be mistaken but it also seems to me that the audience and purposes of runtime vs. library vs. installer tests are often different, making these test groups worth being observable by any runtime contributor. |
Runtime is poorly defined broad area. It is why I dislike The CoreCLR tests have very few requirements. It is just an entrypoint
Each of these have their own feature-specific test harness and shape of tests that is not one like other. Installer tests can be on this plan too if we choose to move them here. |
@trylek You might want to update the initial message in this issue to be up-to-date with the current plan. |
As what was previously the "CoreCLR test suite" is now shared with mono, it no longer makes sense for it to sit under src/coreclr/tests in the runtime tree. The purpose of this task is to move the tests into a new common folder under the tree and modify the paths in all scripts and pipelines so that they continue running after the change. This task doesn't address any changes to the underlying harness used to run the tests.
Current root location of CoreCLR test source code and scripts:
src/coreclr/tests/src
Proposed new location for the test root:
src/tests
/cc: @dotnet/runtime-infrastructure
The text was updated successfully, but these errors were encountered: