-
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
Add support for building just a subset of runtime tests #57142
Changes from all commits
8379138
28830f9
59768be
7f22d86
d8a69c6
df04d2c
11c0cca
9b73df3
99e0cf9
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 |
---|---|---|
|
@@ -40,6 +40,38 @@ The `src/tests/build.sh` script generates the Core_Root folder, which contains t | |
|
||
The output will be at `<repo_root>/artifacts/tests/coreclr/<os>.<arch>.<configuration>/Tests/Core_Root`. | ||
|
||
## Building Test Subsets | ||
|
||
The `src/tests/build.sh` script supports three options that let you limit the set of tests to build; | ||
when none of these is specified, the entire test tree (under `src/tests`) gets built but that can be | ||
lengthy (especially in `-priority1` mode) and unnecessary when working on a particular test. | ||
|
||
1) `-test:<test-project>` - build a particular test project specified by its project file path, | ||
either absolute or relative to `src/tests`. The option can be specified multiple times on the command | ||
line to request building several individual projects; alternatively, a single occurrence of the option | ||
can represent several project paths separated by semicolons. | ||
|
||
**Example**: `src/tests/build.sh -test:JIT/Methodical/divrem/div/i4div_cs_do.csproj;JIT/Methodical/divrem/div/i8div_cs_do.csproj` | ||
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. In all Unix-y shells including powershell, semicolon is a statement terminator. This example only builds i4div_cs_do.csproj. I think having just one approach of multiple |
||
|
||
2) `-dir:<test-folder>` - build all test projects within a given directory path, either absolute | ||
or relative to `src/tests`. The option can be specified multiple times on the command line to request | ||
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. same here. 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. Updated in 9th commit. |
||
building projects in several folders; alternatively, a single occurrence of this option can represent | ||
several project folders separated by semicolons. | ||
|
||
**Example**: `src/tests/build.sh -dir:JIT/Methodical/Arrays/huge;JIT/Methodical/divrem/div` | ||
|
||
3) `-tree:<root-folder>` - build all test projects within the subtree specified by its root path, | ||
either absolute or relative to `src/tests`. The option can be specified multiple times on the command | ||
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. same here. 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. Updated in 9th commit. |
||
line to request building projects in several subtrees; alternatively, a single instance of the option | ||
can represent several project subtree root folder paths separated by semicolons. | ||
|
||
**Example**: `src/tests/build.sh -tree:baseservices/exceptions;JIT/Methodical` | ||
|
||
**Please note** that priority filtering is orthogonal to specifying test subsets; even when you request | ||
building a particular test and the test is Pri1, you need to specify `-priority1` in the command line, | ||
otherwise the test build will get skipped. While somewhat unintuitive, 'fixing' this ad hoc would likely | ||
create more harm than good and we're hoping to ultimately get rid of the test priorities in the long term | ||
anyway. | ||
|
||
## Building Individual 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.
Please mention that the option that they could provide multiple items and separate them by semicolon.
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.
Updated in 9th commit.