diff --git a/sycl/test-e2e/AmdNvidiaJIT/kernel_and_bundle.cpp b/sycl/test-e2e/AmdNvidiaJIT/kernel_and_bundle.cpp index 3927fb87ee85d..2f7c1dc8974a1 100644 --- a/sycl/test-e2e/AmdNvidiaJIT/kernel_and_bundle.cpp +++ b/sycl/test-e2e/AmdNvidiaJIT/kernel_and_bundle.cpp @@ -1,4 +1,3 @@ -// UNSUPPORTED: windows // REQUIRES: target-nvidia || target-amd // This test relies on debug output from a pass, make sure that the compiler diff --git a/sycl/test-e2e/Assert/assert_in_simultaneous_kernels.cpp b/sycl/test-e2e/Assert/assert_in_simultaneous_kernels.cpp index 16900f8fb35f6..08b71f5d4519f 100644 --- a/sycl/test-e2e/Assert/assert_in_simultaneous_kernels.cpp +++ b/sycl/test-e2e/Assert/assert_in_simultaneous_kernels.cpp @@ -3,6 +3,7 @@ // UNSUPPORTED: hip // UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22300 // UNSUPPORTED: cuda +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22966 // RUN: %{build} -o %t.out %threads_lib // // XFAIL: (opencl && gpu) diff --git a/sycl/test-e2e/Assert/assert_in_simultaneously_multiple_tus.cpp b/sycl/test-e2e/Assert/assert_in_simultaneously_multiple_tus.cpp index a4e45aad405f0..5eac9c4180afa 100644 --- a/sycl/test-e2e/Assert/assert_in_simultaneously_multiple_tus.cpp +++ b/sycl/test-e2e/Assert/assert_in_simultaneously_multiple_tus.cpp @@ -1,5 +1,6 @@ // FIXME flaky fail on CUDA and HIP // UNSUPPORTED: cuda +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22966 // // UNSUPPORTED: hip // UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22300 diff --git a/sycl/test-e2e/Basic/gpu_max_wgs_error.cpp b/sycl/test-e2e/Basic/gpu_max_wgs_error.cpp index 968167f6d8f3f..a915e4fcfd1b6 100644 --- a/sycl/test-e2e/Basic/gpu_max_wgs_error.cpp +++ b/sycl/test-e2e/Basic/gpu_max_wgs_error.cpp @@ -1,5 +1,6 @@ // REQUIRES: gpu // UNSUPPORTED: cuda +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22966 // UNSUPPORTED: hip // UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22300 diff --git a/sycl/test-e2e/DeprecatedFeatures/DiscardEvents/discard_events_using_assert.cpp b/sycl/test-e2e/DeprecatedFeatures/DiscardEvents/discard_events_using_assert.cpp index fbb8ea5861811..e385467e0d833 100644 --- a/sycl/test-e2e/DeprecatedFeatures/DiscardEvents/discard_events_using_assert.cpp +++ b/sycl/test-e2e/DeprecatedFeatures/DiscardEvents/discard_events_using_assert.cpp @@ -1,5 +1,6 @@ // FIXME unsupported on CUDA and HIP until fallback libdevice becomes available // UNSUPPORTED: cuda +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22966 // // UNSUPPORTED: hip // UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22300 diff --git a/sycl/test-e2e/DeviceLib/separate_compile_test.cpp b/sycl/test-e2e/DeviceLib/separate_compile_test.cpp index 61623e6d77d0a..98775061b8841 100644 --- a/sycl/test-e2e/DeviceLib/separate_compile_test.cpp +++ b/sycl/test-e2e/DeviceLib/separate_compile_test.cpp @@ -3,6 +3,7 @@ // UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22300 // // UNSUPPORTED: target-nvidia +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22966 // RUN: %clangxx -fsycl -fsycl-link %S/std_complex_math_test.cpp -o %t_device.o %{mathflags} // RUN: %clangxx -fsycl-device-only -Xclang -fsycl-int-header=std_complex_math_test_ihdr.h %S/std_complex_math_test.cpp -Wno-sycl-strict %{mathflags} // >> host compilation... diff --git a/sycl/test-e2e/ESIMD/api/svm_gather_scatter_scalar_off.cpp b/sycl/test-e2e/ESIMD/api/svm_gather_scatter_scalar_off.cpp index b074c8318f345..7f4d1495325a5 100644 --- a/sycl/test-e2e/ESIMD/api/svm_gather_scatter_scalar_off.cpp +++ b/sycl/test-e2e/ESIMD/api/svm_gather_scatter_scalar_off.cpp @@ -6,6 +6,7 @@ // //===----------------------------------------------------------------------===// // UNSUPPORTED: arch-intel_gpu_pvc +// UNSUPPORTED-INTENDED: There is a separate version of this test for PVC. // RUN: %{build} -o %t.out // RUN: %{run} %t.out diff --git a/sycl/test-e2e/ESIMD/matrix_transpose2.cpp b/sycl/test-e2e/ESIMD/matrix_transpose2.cpp index 57724d35904dc..6a6e896ba2fa6 100644 --- a/sycl/test-e2e/ESIMD/matrix_transpose2.cpp +++ b/sycl/test-e2e/ESIMD/matrix_transpose2.cpp @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// -// UNSUPPORTED: arch-intel_gpu_pvc // REQUIRES: aspect-ext_intel_legacy_image // RUN: %{build} -o %t.out // RUN: %{run} %t.out diff --git a/sycl/test-e2e/ESIMD/regression/copyto_char_test.cpp b/sycl/test-e2e/ESIMD/regression/copyto_char_test.cpp index 6e42fd7e8af7f..817c9ac1d28c4 100644 --- a/sycl/test-e2e/ESIMD/regression/copyto_char_test.cpp +++ b/sycl/test-e2e/ESIMD/regression/copyto_char_test.cpp @@ -1,8 +1,6 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out -// UNSUPPORTED: opencl && arch-intel_gpu_pvc - //==- copyto_char_test.cpp - Test for using copy_to to copy char buffers -==// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. diff --git a/sycl/test-e2e/ESIMD/regression/variable_gather_mask.cpp b/sycl/test-e2e/ESIMD/regression/variable_gather_mask.cpp index aa397d6c84d59..8979a7c81be51 100644 --- a/sycl/test-e2e/ESIMD/regression/variable_gather_mask.cpp +++ b/sycl/test-e2e/ESIMD/regression/variable_gather_mask.cpp @@ -8,8 +8,6 @@ // RUN: %{build} -o %t.out // RUN: %{run} %t.out -// UNSUPPORTED: opencl && arch-intel_gpu_pvc -// // This is a regression test for the VC BE bug which generates incorrect code in // some cases in presence of variable (not compile-time constant) mask // (aka predicate) in the scatter operation. diff --git a/sycl/test-e2e/Printf/mixed-address-space.cpp b/sycl/test-e2e/Printf/mixed-address-space.cpp index 1e256f5619288..bda2c59547dfb 100644 --- a/sycl/test-e2e/Printf/mixed-address-space.cpp +++ b/sycl/test-e2e/Printf/mixed-address-space.cpp @@ -2,6 +2,7 @@ // for constant and generic address space can be used in the same module. // // UNSUPPORTED: target-amd +// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22300 // XFAIL: cuda && windows // XFAIL-TRACKER: https://github.com/intel/llvm/issues/14733 // FIXME: Drop the test once generic AS support is considered stable and the diff --git a/sycl/test-e2e/SpecConstants/2020/kernel-bundle-api.cpp b/sycl/test-e2e/SpecConstants/2020/kernel-bundle-api.cpp index bea397c59aad0..b899bfc8ea329 100644 --- a/sycl/test-e2e/SpecConstants/2020/kernel-bundle-api.cpp +++ b/sycl/test-e2e/SpecConstants/2020/kernel-bundle-api.cpp @@ -12,7 +12,6 @@ // // UNSUPPORTED: target-amd // UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22300 -// UNSUPPORTED: native_cpu #include #include diff --git a/sycl/test/e2e_test_requirements/no-unsupported-without-info.cpp b/sycl/test/e2e_test_requirements/no-unsupported-without-info.cpp index 8b5adc3f0f0bb..75846a5c313f8 100644 --- a/sycl/test/e2e_test_requirements/no-unsupported-without-info.cpp +++ b/sycl/test/e2e_test_requirements/no-unsupported-without-info.cpp @@ -1,73 +1,40 @@ -// This test is intended to ensure that we have no tests marked as -// UNSUPPORTED without an information added to a test. -// For more info see: sycl/test-e2e/README.md -// -// The format we check is: +// This test verifies that there are no untracked UNSUPPORTED tests. + +// If this test fails for your patch, it means that you either introduced +// an UNSUPPORTED directive incorrectly, or broke the format of an +// existing UNSUPPORTED test. + +// For more info see: +// https://github.com/intel/llvm/blob/sycl/sycl/test-e2e/README.md#marking-tests-as-unsupported + +// The expected format is: // UNSUPPORTED: lit,features // UNSUPPORTED-TRACKER: [GitHub issue URL|Internal tracker ID] // *OR* // UNSUPPORTED: lit,features -// UNSUPPORTED-INTENDED: explanation why the test isn't intended to be run with this feature -// +// UNSUPPORTED-INTENDED: explanation why the test isn't intended to run +// with this feature + // GitHub issue URL format: // https://github.com/owner/repo/issues/12345 -// + // Internal tracker ID format: // PROJECT-123456 -// + // REQUIRES: linux -// -// Explanation of the command: -// - search for all "UNSUPPORTED" occurrences, display line with match and the next one -// -I, --include to drop binary files and other unrelated files -// - in the result, search for "UNSUPPORTED" again, but invert the result - this -// allows us to get the line *after* UNSUPPORTED -// - in those lines, check that UNSUPPORTED-TRACKER or UNSUPPORTED-INTENDED is -// present and correct. Once again, invert the search to get all "bad" lines -// and save the test names in the temp file -// - make a final count of how many ill-formatted directives there are and -// verify that against the reference -// - ...and check if the list of improperly UNSUPPORTED tests needs to be updated. -// -// RUN: grep -rI "UNSUPPORTED:" %S/../../test-e2e \ -// RUN: -A 1 --include=*.cpp --no-group-separator | \ + +// Command explanation: +// - Search for all "UNSUPPORTED" occurrences and print each matching line +// plus the next line. The -I and --include options skip binary and +// unrelated files. +// - In that output, search for "UNSUPPORTED" again and invert the match. +// This leaves the line *after* each UNSUPPORTED line. +// - In those lines, verify that UNSUPPORTED-TRACKER or +// UNSUPPORTED-INTENDED is present and correctly formatted. Invert this +// match again to keep only "bad" lines. +// - There must be no bad lines, so we assert that the final grep fails +// by using the not operator. + +// RUN: grep -rI "UNSUPPORTED:" %S/../../test-e2e -A 1 --include=*.cpp --no-group-separator | \ // RUN: grep -v "UNSUPPORTED:" | \ -// RUN: grep -Pv "(?:UNSUPPORTED-TRACKER:\s+(?:(?:https:\/\/github.com\/[\w\d-]+\/[\w\d-]+\/issues\/[\d]+)|(?:[\w]+-[\d]+)))|(?:UNSUPPORTED-INTENDED:\s*.+)" > %t -// RUN: cat %t | wc -l | FileCheck %s --check-prefix NUMBER-OF-UNSUPPORTED-WITHOUT-INFO -// RUN: cat %t | sed 's/\.cpp.*/.cpp/' | sort | FileCheck %s -// -// The number below is a number of tests which are *improperly* UNSUPPORTED, i.e. -// we either don't have a tracker associated with a failure listed in those -// tests, or it is listed in a wrong format. -// Note: strictly speaking, that is not amount of files, but amount of UNSUPPORTED -// directives. If a test contains several UNSUPPORTED directives, some of them may be -// valid and other may not. -// -// That number *must not* increase. Any PR which causes this number to grow -// should be rejected and it should be updated to either keep the number as-is -// or have it reduced (preferably, down to zero). -// -// If you see this test failed for your patch, it means that you either -// introduced UNSUPPORTED directive to a test improperly, or broke the format of an -// existing UNSUPPORTED tests. -// Another possibility (and that is a good option) is that you updated some -// tests to match the required format and in that case you should just update -// (i.e. reduce) the number and the list below. -// -// NUMBER-OF-UNSUPPORTED-WITHOUT-INFO: 12 -// -// List of improperly UNSUPPORTED tests. -// Remove the CHECK once the test has been properly UNSUPPORTED. -// -// CHECK: AmdNvidiaJIT/kernel_and_bundle.cpp -// CHECK-NEXT: Assert/assert_in_simultaneous_kernels.cpp -// CHECK-NEXT: Assert/assert_in_simultaneously_multiple_tus.cpp -// CHECK-NEXT: Basic/gpu_max_wgs_error.cpp -// CHECK-NEXT: DeprecatedFeatures/DiscardEvents/discard_events_using_assert.cpp -// CHECK-NEXT: DeviceLib/separate_compile_test.cpp -// CHECK-NEXT: ESIMD/api/svm_gather_scatter_scalar_off.cpp -// CHECK-NEXT: ESIMD/matrix_transpose2.cpp -// CHECK-NEXT: ESIMD/regression/copyto_char_test.cpp -// CHECK-NEXT: ESIMD/regression/variable_gather_mask.cpp -// CHECK-NEXT: Printf/mixed-address-space.cpp -// CHECK-NEXT: SpecConstants/2020/kernel-bundle-api.cpp +// RUN: not grep -Pv "(?:UNSUPPORTED-TRACKER:\s+(?:(?:https:\/\/github.com\/[\w\d-]+\/[\w\d-]+\/issues\/[\d]+)|(?:[\w]+-[\d]+)))|(?:UNSUPPORTED-INTENDED:\s*.+)" > %t