Skip to content

Commit faf93d5

Browse files
authored
[SYCL][E2E] Add XFAIL trackers for improperly XFAIL-ed E2E tests (#16421)
Add XFAIL trackers for improperly XFAIL-ed E2E tests. This brings the number of improperly XFAIL-ed tests down to zero. For the tests below, the XFAILs have been removed entirely. - For `sycl/test-e2e/ESIMD/hardware_dispatch.cpp`, the XFAIL is on igc-dev but the test requires GEN12 which does not have igc-dev so this XFAIL is meaningless. Thanks to @sarnex for noting this. - Three tests under `test-e2e/Reduction` which are XFAIL-ed only on hip_nvidia which we do not support anymore. Closes: #16400
1 parent 62ce674 commit faf93d5

19 files changed

+19
-61
lines changed

sycl/test-e2e/AddressSanitizer/nullpointer/private_nullptr.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
// FIXME: There's an issue in gfx driver, so this test pending here.
1010
// XFAIL: run-mode
11+
// XFAIL-TRACKER: GSD-9911
1112

1213
#include <sycl/detail/core.hpp>
1314
#include <sycl/ext/oneapi/experimental/address_cast.hpp>

sycl/test-e2e/Basic/max_linear_work_group_size_props.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
// This property is not yet supported by all UR adapters
55
// XFAIL: level_zero, opencl, hip
6+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16403
67

78
#include <sycl/detail/core.hpp>
89

sycl/test-e2e/Basic/max_work_group_size_props.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
// This property is not yet supported by all UR adapters
55
// XFAIL: level_zero, opencl, hip
6+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16403
67

78
#include <sycl/detail/core.hpp>
89

sycl/test-e2e/DeviceLib/assert-windows.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
// REQUIRES: cpu,windows
22
//
3-
// FIXME: OpenCL CPU backend compiler crashes on a call to _wassert.
4-
// Disable the test until the fix reaches SYCL test infrastructure.
53
// XFAIL: *
4+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16507
65
//
76
// RUN: %{build} -o %t.out
87
//

sycl/test-e2e/ESIMD/hardware_dispatch.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
66
//
77
//===----------------------------------------------------------------------===//
8-
// XFAIL: igc-dev
98
// REQUIRES: ocloc && arch-intel_gpu_tgllp
109
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_tgllp %s -o %t.out
1110
// RUN: %{run-unfiltered-devices} %t.out

sycl/test-e2e/InlineAsm/asm_multiple_instructions.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
// The test is failing when writing directly to output buffer.
88
// If temporary variable is used (see TO_PASS mode) the test succeeded.
99
// XFAIL: gpu && run-mode
10+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16412
1011
#include "include/asmhelper.h"
1112
#include <iostream>
1213
#include <vector>

sycl/test-e2e/NewOffloadDriver/multisource.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
//
77
//===----------------------------------------------------------------------===//
88
// XFAIL: cuda
9+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16413
910
// Separate kernel sources and host code sources
1011
// Test with `--offload-new-driver`
1112
// RUN: %{build} --offload-new-driver -c -o %t.kernel.o -DINIT_KERNEL -DCALC_KERNEL

sycl/test-e2e/NewOffloadDriver/split-per-source-main.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
// RUN: --offload-new-driver -fsycl-dead-args-optimization
33
// RUN: %{run} %t.out
44
//
5-
// XFAIL: hip_nvidia, cuda
5+
// XFAIL: cuda
6+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16413
67

78
#include "Inputs/split-per-source.h"
89

sycl/test-e2e/NewOffloadDriver/sycl-external-with-optional-features.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// RUN: %clangxx -Wno-error=unused-command-line-argument -fsycl -fsycl-targets=%{sycl_triple} --offload-new-driver %t1.o %t2.o -o %t.exe
55
// RUN: %{run} %t.exe
66
// XFAIL: cuda
7+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16413
78

89
#ifdef SOURCE1
910
#include <iostream>

sycl/test-e2e/OptionalKernelFeatures/throw-exception-for-out-of-registers-on-kernel-launch.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// RUN: %{build} -o %t.out
33
// RUN: %{run} %t.out
44
// XFAIL: *
5+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/12679
56

67
#include <numeric>
78
#include <string_view>

sycl/test-e2e/PerformanceTests/Reduction/reduce_over_sub_group.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// XFAIL: native_cpu
2+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16415
23
// RUN: %{build} -o %t.out
34
// RUN: %{run} %t.out
45

sycl/test-e2e/Reduction/reduction_big_data.cpp

-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
// RUN: %{build} -o %t.out
22
// RUN: %{run} %t.out
33
//
4-
// Group algorithms are not supported on Nvidia.
5-
// XFAIL: hip_nvidia
6-
//
74

85
// Windows doesn't yet have full shutdown().
96
// UNSUPPORTED: ze_debug && windows

sycl/test-e2e/Reduction/reduction_nd_reducer_skip.cpp

-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
// RUN: %{build} -o %t.out
22
// RUN: %{run} %t.out
3-
//
4-
// Group algorithms are not supported on Nvidia.
5-
// XFAIL: hip_nvidia
63

74
// Windows doesn't yet have full shutdown().
85
// UNSUPPORTED: ze_debug && windows

sycl/test-e2e/Reduction/reduction_reducer_op_eq.cpp

-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
// RUN: %{build} -o %t.out
22
// RUN: %{run} %t.out
3-
//
4-
// On nvidia a reduction appears to be unexpectedly executed via the host.
5-
// XFAIL: hip_nvidia
63

74
// Windows doesn't yet have full shutdown().
85
// UNSUPPORTED: ze_debug && windows

sycl/test-e2e/Regression/build_log.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
// CHECK-EXPECTED-ERROR: error: backend compiler failed build
77

88
// XFAIL: *
9+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16416
910

1011
#include <stdio.h>
1112
#include <sycl/detail/core.hpp>

sycl/test-e2e/Regression/complex_global_object.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
// RUN: %{build} -o %t.out
22
// RUN: %{run} %t.out
3-
// XFAIL: gpu && linux
43

54
// SYCL runtime may construct global objects at function scope. The test ensures
65
// such objects do not cause problems if the first call to SYCL is inside main

sycl/test-e2e/Regression/kernel_bundle_ignore_sycl_external.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
// RUN: %{run} %t.out
33
//
44
// XFAIL: cuda
5+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16417
56
// UNSUPPORTED: hip
67

78
// Windows doesn't yet have full shutdown().

sycl/test-e2e/Regression/reduction_resource_leak_dw.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// REQUIRES: level_zero, level_zero_dev_kit
22
// XFAIL: windows
3+
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16418
34
//
45
// RUN: %{build} %level_zero_options -o %t.out
56
// RUN: %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s

sycl/test/e2e_test_requirements/no-xfail-without-tracker.cpp

+5-47
Original file line numberDiff line numberDiff line change
@@ -20,57 +20,15 @@
2020
// - in the result, search for "XFAIL" again, but invert the result - this
2121
// allows us to get the line *after* XFAIL
2222
// - in those lines, check that XFAIL-TRACKER is present and correct. Once
23-
// again, invert the search to get all "bad" lines and save the test names in
24-
// the temp file
25-
// - make a final count of how many ill-formatted directives there are and
26-
// verify that against the reference
27-
// - ...and check if the list of improperly XFAIL-ed tests needs to be updated.
23+
// again, invert the search to get all "bad" lines. Because there should be no
24+
// bad lines, check that the search fails using the negation operator not.
2825
//
2926
// RUN: grep -rI "XFAIL:" %S/../../test-e2e \
3027
// RUN: -A 1 --include=*.cpp --no-group-separator | \
3128
// RUN: grep -v "XFAIL:" | \
32-
// RUN: grep -Pv "(?:XFAIL-TRACKER:\s+(?:(?:https:\/\/github.com\/[\w\d-]+\/[\w\d-]+\/issues\/[\d]+)|(?:[\w]+-[\d]+)))" > %t
33-
// RUN: cat %t | wc -l | FileCheck %s --check-prefix NUMBER-OF-XFAIL-WITHOUT-TRACKER
34-
// RUN: cat %t | sed 's/\.cpp.*/.cpp/' | sort | FileCheck %s
35-
//
36-
// The number below is a number of tests which are *improperly* XFAIL-ed, i.e.
37-
// we either don't have a tracker associated with a failure listed in those
38-
// tests, or it is listed in a wrong format.
39-
// Note: strictly speaking, that is not amount of files, but amount of XFAIL
40-
// directives. If a test contains several XFAIL directives, some of them may be
41-
// valid and other may not.
42-
//
43-
// That number *must not* increase. Any PR which causes this number to grow
44-
// should be rejected and it should be updated to either keep the number as-is
45-
// or have it reduced (preferably, down to zero).
29+
// RUN: not grep -Pv "XFAIL-TRACKER:\s+(?:https://github.com/[\w\d-]+/[\w\d-]+/issues/[\d]+)|(?:[\w]+-[\d]+)"
4630
//
4731
// If you see this test failed for your patch, it means that you either
4832
// introduced XFAIL directive to a test improperly, or broke the format of an
49-
// existing XFAIL-ed tests.
50-
// Another possibility (and that is a good option) is that you updated some
51-
// tests to match the required format and in that case you should just update
52-
// (i.e. reduce) the number and the list below.
53-
//
54-
// NUMBER-OF-XFAIL-WITHOUT-TRACKER: 18
55-
//
56-
// List of improperly XFAIL-ed tests.
57-
// Remove the CHECK once the test has been properly XFAIL-ed.
58-
//
59-
// CHECK: AddressSanitizer/nullpointer/private_nullptr.cpp
60-
// CHECK-NEXT: Basic/max_linear_work_group_size_props.cpp
61-
// CHECK-NEXT: Basic/max_work_group_size_props.cpp
62-
// CHECK-NEXT: DeviceLib/assert-windows.cpp
63-
// CHECK-NEXT: ESIMD/hardware_dispatch.cpp
64-
// CHECK-NEXT: InlineAsm/asm_multiple_instructions.cpp
65-
// CHECK-NEXT: NewOffloadDriver/multisource.cpp
66-
// CHECK-NEXT: NewOffloadDriver/split-per-source-main.cpp
67-
// CHECK-NEXT: NewOffloadDriver/sycl-external-with-optional-features.cpp
68-
// CHECK-NEXT: OptionalKernelFeatures/throw-exception-for-out-of-registers-on-kernel-launch.cpp
69-
// CHECK-NEXT: PerformanceTests/Reduction/reduce_over_sub_group.cpp
70-
// CHECK-NEXT: Reduction/reduction_big_data.cpp
71-
// CHECK-NEXT: Reduction/reduction_nd_reducer_skip.cpp
72-
// CHECK-NEXT: Reduction/reduction_reducer_op_eq.cpp
73-
// CHECK-NEXT: Regression/build_log.cpp
74-
// CHECK-NEXT: Regression/complex_global_object.cpp
75-
// CHECK-NEXT: Regression/kernel_bundle_ignore_sycl_external.cpp
76-
// CHECK-NEXT: Regression/reduction_resource_leak_dw.cpp
33+
// existing XFAIL-ed tests. Note in particular that XFAIL-TRACKER should appear in the
34+
// next line following the XFAIL.

0 commit comments

Comments
 (0)