Commit f279a8a
authored
[SYCL][E2E] Add functionality to split build and run of e2e tests (#16016)
Adds functionality to split the compilation and execution of e2e tests
across separate machines.
This functionality is enabled via the `test-mode` lit parameter. By
default this is set to `full` and tests are built and ran on the same
system, just like before. setting `test-mode` to either `run-only` or
`build-only` enables the test splitting.
Two new lit features have been added: `run-mode` which is enabled when
either in `run-only` or `full` testing mode, and `build-and-run-mode`
which is only enabled when in `full` testing mode.
When in `build-only` mode all tests that can be built on the system will
be built. When running a lit test in this mode two key things change:
- All `RUN:` lines will be executed unless they contain `%{run}`,
`%{run-unfiltered-devices}` or `%if run-mode`.
- Unsupported and requires statements are ignored. Currently the only
way to mark tests as unsupported in build only mode is to include
`build-and-run-mode` in a requires statement, or use `UNSUPPORTED:
true`.
When in `run-only` mode tests are not built, they are only executed.
Deciding whether a test is supported in this mode works the same as in
`full` mode. To only execute the tests we ignore all lit `RUN:` lines
unless they contain `%{run}`, `%{run-unfiltered-devices}` or `%if
run-mode`. Since we do not build the tests in this mode, for any test to
pass we must have ran the tests in either `build-only` or `full` modes.
### Some notes/current limitations:
- Currently only the spir64 triple is supported for the build only mode.
- If a test is able to build, but fails during running we need to mark
it as `XFAILS: run-mode` so that it does not `XPASS` when in build-only
mode.
- The build-only mode can be ran manually on CI with the `SYCL E2E`
action, selecting the "Linux, build" runner, and adding `--param
test-mode=build-only` to `LIT_OPTS`. This pr does not have the needed CI
changes to be able to use the run only mode.1 parent 1e1ffc0 commit f279a8a
File tree
74 files changed
+138
-62
lines changed- sycl/test-e2e
- AmdNvidiaJIT
- Basic
- Compression
- Config
- DeviceArchitecture
- DeviceLib
- ESIMD
- PerformanceTests
- EnqueueNativeCommand
- HostInteropTask
- InlineAsm
- InvokeSimd
- Feature
- ImplicitSubgroup
- Spec
- ImplicitSubgroup
- KernelAndProgram
- KernelCompiler
- Matrix
- SG32
- OptionalKernelFeatures/is_compatible
- Plugin
- Regression
- SpecConstants/2020/non_native
- VirtualFunctions/multiple-translation-units
- bindless_images
- cubemap
- dx12_interop
- examples
- mipmap
- vulkan_interop
- syclcompat
- kernel
- launch
- memory
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
74 files changed
+138
-62
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | 5 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
| 11 | + | |
| 12 | + | |
13 | 13 | | |
14 | | - | |
15 | | - | |
| 14 | + | |
| 15 | + | |
16 | 16 | | |
17 | | - | |
| 17 | + | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | 5 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
2 | 3 | | |
3 | 4 | | |
4 | 5 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
| 13 | + | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
| 13 | + | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
| 13 | + | |
| 14 | + | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
0 commit comments