Skip to content

Commit 5a20d78

Browse files
committed
Fix integration tests for CL.
Turns out this was just a minor error in fixture usage and not allowing for an optional query to be unsupported.
1 parent e824ddc commit 5a20d78

File tree

5 files changed

+30
-14
lines changed

5 files changed

+30
-14
lines changed
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
{{NONDETERMINISTIC}}
2-
{{OPT}}urEnqueueDeviceGetGlobalVariableReadTest.Success/Intel_R__OpenCL___{{.*}}_
32
urEnqueueKernelLaunchKernelWgSizeTest.Success/Intel_R__OpenCL___{{.*}}_
43
urEnqueueKernelLaunchKernelSubGroupTest.Success/Intel_R__OpenCL___{{.*}}_
54
{{OPT}}urEnqueueKernelLaunchUSMLinkedList.Success/Intel_R__OpenCL___{{.*}}_UsePoolEnabled

test/conformance/enqueue/urEnqueueKernelLaunch.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@ inline std::string printKernelLaunchTestString(
230230
}
231231

232232
struct urEnqueueKernelLaunchTestWithParam
233-
: uur::urBaseKernelExecutionTestWithParam<testParametersEnqueueKernel> {
233+
: uur::urKernelExecutionTestWithParam<testParametersEnqueueKernel> {
234234
void SetUp() override {
235235
global_range[0] = std::get<1>(GetParam()).X;
236236
global_range[1] = std::get<1>(GetParam()).Y;
@@ -247,12 +247,11 @@ struct urEnqueueKernelLaunchTestWithParam
247247
program_name = "fill_3d";
248248
buffer_size *= global_range[1] * global_range[2];
249249
}
250-
UUR_RETURN_ON_FATAL_FAILURE(
251-
urBaseKernelExecutionTestWithParam::SetUp());
250+
UUR_RETURN_ON_FATAL_FAILURE(urKernelExecutionTestWithParam::SetUp());
252251
}
253252

254253
void TearDown() override {
255-
UUR_RETURN_ON_FATAL_FAILURE(uur::urBaseKernelExecutionTestWithParam<
254+
UUR_RETURN_ON_FATAL_FAILURE(uur::urKernelExecutionTestWithParam<
256255
testParametersEnqueueKernel>::TearDown());
257256
}
258257

test/conformance/integration/QueueEmptyStatus.cpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,25 @@ struct QueueEmptyStatusTestWithParam : uur::IntegrationQueueTestWithParam {
2222
GTEST_SKIP() << "Shared USM is not supported.";
2323
}
2424

25+
// QUEUE_INFO_EMPTY isn't supported by all adapters
26+
ur_bool_t empty_check = false;
27+
auto result =
28+
urQueueGetInfo(queue, UR_QUEUE_INFO_EMPTY, sizeof(empty_check),
29+
&empty_check, nullptr);
30+
if (result == UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION) {
31+
GTEST_SKIP() << "QUEUE_INFO_EMPTY is not supported.";
32+
}
33+
ASSERT_SUCCESS(result);
34+
2535
ASSERT_SUCCESS(urUSMSharedAlloc(context, device, nullptr, nullptr,
2636
ArraySize * sizeof(uint32_t),
2737
&SharedMem));
2838
}
2939

3040
void TearDown() override {
31-
ASSERT_SUCCESS(urUSMFree(context, SharedMem));
41+
if (SharedMem) {
42+
ASSERT_SUCCESS(urUSMFree(context, SharedMem));
43+
}
3244
uur::IntegrationQueueTestWithParam::TearDown();
3345
}
3446

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +0,0 @@
1-
{{NONDETERMINISTIC}}
2-
QueueEmptyStatusTestWithParam.QueueEmptyStatusTest/Intel_R__OpenCL___{{.*}}___IN_ORDER_QUEUE
3-
QueueEmptyStatusTestWithParam.QueueEmptyStatusTest/Intel_R__OpenCL___{{.*}}___OUT_OF_ORDER_QUEUE
4-
QueueUSMTestWithParam.QueueUSMTest/Intel_R__OpenCL___{{.*}}___IN_ORDER_QUEUE
5-
QueueUSMTestWithParam.QueueUSMTest/Intel_R__OpenCL___{{.*}}___OUT_OF_ORDER_QUEUE
6-
QueueBufferTestWithParam.QueueBufferTest/Intel_R__OpenCL___{{.*}}___IN_ORDER_QUEUE
7-
QueueBufferTestWithParam.QueueBufferTest/Intel_R__OpenCL___{{.*}}___OUT_OF_ORDER_QUEUE

test/conformance/testing/include/uur/fixtures.h

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1220,6 +1220,13 @@ template <class T> struct urProgramTestWithParam : urQueueTestWithParam<T> {
12201220
ur_program_handle_t program = nullptr;
12211221
};
12221222

1223+
// This fixture can provide a kernel, but it doesn't build the kernel at SetUp,
1224+
// instead Build() must be invoked separately. This is for tests that wish to
1225+
// check device capabilities to determine whether the test should run before
1226+
// trying to load any device code.
1227+
//
1228+
// For a fixture that provides the kernel at SetUp, inherit from urKernelTest
1229+
// instead.
12231230
struct urBaseKernelTest : urProgramTest {
12241231
void SetUp() override {
12251232
UUR_RETURN_ON_FATAL_FAILURE(urProgramTest::SetUp());
@@ -1252,6 +1259,8 @@ struct urKernelTest : urBaseKernelTest {
12521259
}
12531260
};
12541261

1262+
// Parameterized version of urBaseKernelTest, the comments on that fixture
1263+
// clarify why you'd want to use this instead of urKernelTestWithParam.
12551264
template <class T>
12561265
struct urBaseKernelTestWithParam : urProgramTestWithParam<T> {
12571266
void SetUp() override {
@@ -1386,11 +1395,13 @@ struct KernelLaunchHelper {
13861395
uint32_t current_arg_index = 0;
13871396
};
13881397

1398+
// Parameterized kernel fixture with execution helpers, for the difference
1399+
// between this and urKernelExecutionTestWithParam see the comment on
1400+
// urBaseKernelTest.
13891401
template <typename T>
13901402
struct urBaseKernelExecutionTestWithParam : urBaseKernelTestWithParam<T> {
13911403
void SetUp() override {
13921404
UUR_RETURN_ON_FATAL_FAILURE(urBaseKernelTestWithParam<T>::SetUp());
1393-
UUR_RETURN_ON_FATAL_FAILURE(urBaseKernelTestWithParam<T>::Build());
13941405
}
13951406

13961407
void TearDown() override {
@@ -1429,6 +1440,8 @@ struct urBaseKernelExecutionTestWithParam : urBaseKernelTestWithParam<T> {
14291440
std::vector<ur_mem_handle_t> buffer_args;
14301441
};
14311442

1443+
// Kernel fixture with execution helpers, for the difference between this and
1444+
// urKernelExecutionTest see the comment on urBaseKernelTest.
14321445
struct urBaseKernelExecutionTest : urBaseKernelTest {
14331446
void SetUp() override {
14341447
UUR_RETURN_ON_FATAL_FAILURE(urBaseKernelTest::SetUp());

0 commit comments

Comments
 (0)