@@ -280,7 +280,40 @@ command:
280
280
281
281
# ## Test DPC++ toolchain
282
282
283
- # ### Run regression tests
283
+ Every product change should be accompanied with corresponding test modification
284
+ (adding new test(s), extending, removing or modifying existing test(s)).
285
+
286
+ There are 3 types of tests which are used for DPC++ toolchain validation:
287
+ * DPC++ in-tree LIT tests including [check-llvm](../../llvm/test),
288
+ [check-clang](../../clang/test), [check-llvm-spirv](../../llvm-spirv/test) and
289
+ [check-sycl](../../sycl/test) targets stored in this repository. These tests
290
+ should not have hardware (e.g. GPU, FPGA, etc.) or external software
291
+ dependencies (e.g. OpenCL, Level Zero, CUDA runtimes). All tests not following
292
+ this approach should be moved to DPC++ end-to-end or SYCL-CTS tests.
293
+ However, the tests for a feature under active development requiring atomic
294
+ change for tests and product can be put to
295
+ [sycl/test/on-device](../../sycl/test/on-device) temporarily. It is developer
296
+ responsibility to move the tests to DPC++ E2E test suite or SYCL-CTS once
297
+ the feature is stabilized.
298
+
299
+ * DPC++ end-to-end (E2E) tests which are extension to
300
+ [LLVM\* test suite](https://github.com/intel/llvm-test-suite/tree/intel/SYCL).
301
+ A test which requires full stack including backend runtimes (e.g. OpenCL,
302
+ Level Zero or CUDA) should be put to DPC++ E2E test suite following
303
+ [CONTRIBUTING](https://github.com/intel/llvm-test-suite/blob/intel/CONTRIBUTING.md).
304
+
305
+ * SYCL-CTS are official
306
+ [Khronos\* SYCL\* conformance tests](https://github.com/KhronosGroup/SYCL-CTS).
307
+ They verify SYCL specification compatibility. All implementation details or
308
+ extensions are out of scope for the tests. If SYCL specification has changed
309
+ (SYCL CTS tests conflict with recent version of SYCL specification) or change
310
+ is required in the way the tests are built with DPC++ compiler (defined in
311
+ [FindIntel_SYCL](https://github.com/KhronosGroup/SYCL-CTS/blob/SYCL-1.2.1/master/cmake/FindIntel_SYCL.cmake))
312
+ pull request should be created under
313
+ [KhronosGroup/SYCL-CTS](https://github.com/KhronosGroup/SYCL-CTS) with required
314
+ patch.
315
+
316
+ # ### Run in-tree LIT tests
284
317
285
318
To verify that built DPC++ toolchain is working correctly, run:
286
319
@@ -302,6 +335,11 @@ skipped.
302
335
If CUDA support has been built, it is tested only if there are CUDA devices
303
336
available.
304
337
338
+ # ### Run DPC++ E2E test suite
339
+
340
+ Follow instructions from the link below to build and run tests:
341
+ [README](https://github.com/intel/llvm-test-suite/tree/intel/SYCL#execution)
342
+
305
343
# ### Run Khronos\* SYCL\* conformance test suite (optional)
306
344
307
345
Khronos\* SYCL\* conformance test suite (CTS) is intended to validate
0 commit comments