Skip to content

Commit 41763be

Browse files
aarongreigkbenzie
authored andcommitted
Only test DEVICE_DEFAULT query when queue is device default.
Some supported CL drivers return an error rather than NULL if you try this query on a queue that wasn't created with the ON_DEVICE and DEVICE_DEFAULT flags. This isn't correct according to the CL spec but limiting our testing to the supported case is still preferable to adding an exception to the match files.
1 parent 51900ae commit 41763be

File tree

3 files changed

+23
-14
lines changed

3 files changed

+23
-14
lines changed
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +0,0 @@
1-
urQueueGetInfoTestWithInfoParam.Success/AMD_HIP_BACKEND___{{.*}}___UR_QUEUE_INFO_DEVICE_DEFAULT

test/conformance/queue/queue_adapter_native_cpu.match

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,16 @@ urQueueFinishTest.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU_
2626
urQueueFlushTest.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU_
2727
urQueueGetInfoTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_CONTEXT
2828
urQueueGetInfoTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_DEVICE
29-
urQueueGetInfoTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_DEVICE_DEFAULT
3029
urQueueGetInfoTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_FLAGS
3130
urQueueGetInfoTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_REFERENCE_COUNT
32-
urQueueGetInfoTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_SIZE
3331
urQueueGetInfoTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_EMPTY
32+
urQueueGetInfoDeviceQueueTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_CONTEXT
33+
urQueueGetInfoDeviceQueueTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_DEVICE
34+
urQueueGetInfoDeviceQueueTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_DEVICE_DEFAULT
35+
urQueueGetInfoDeviceQueueTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_FLAGS
36+
urQueueGetInfoDeviceQueueTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_REFERENCE_COUNT
37+
urQueueGetInfoDeviceQueueTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_SIZE
38+
urQueueGetInfoDeviceQueueTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_EMPTY
3439
urQueueGetInfoTest.InvalidSizeSmall/SYCL_NATIVE_CPU___SYCL_Native_CPU_
3540
urQueueRetainTest.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU_
3641
urQueueReleaseTest.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU_

test/conformance/queue/urQueueGetInfo.cpp

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ using urQueueGetInfoTestWithInfoParam =
2020

2121
UUR_TEST_SUITE_P(urQueueGetInfoTestWithInfoParam,
2222
::testing::Values(UR_QUEUE_INFO_CONTEXT, UR_QUEUE_INFO_DEVICE,
23-
UR_QUEUE_INFO_DEVICE_DEFAULT,
2423
UR_QUEUE_INFO_FLAGS,
2524
UR_QUEUE_INFO_REFERENCE_COUNT,
2625
UR_QUEUE_INFO_EMPTY),
@@ -96,7 +95,8 @@ struct urQueueGetInfoDeviceQueueTestWithInfoParam
9695
ur_queue_handle_t queue = nullptr;
9796
ur_queue_properties_t queueProperties = {
9897
UR_STRUCTURE_TYPE_QUEUE_PROPERTIES, nullptr,
99-
UR_QUEUE_FLAG_ON_DEVICE | UR_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE};
98+
UR_QUEUE_FLAG_ON_DEVICE | UR_QUEUE_FLAG_ON_DEVICE_DEFAULT |
99+
UR_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE};
100100
};
101101

102102
UUR_TEST_SUITE_P(urQueueGetInfoDeviceQueueTestWithInfoParam,
@@ -110,17 +110,22 @@ UUR_TEST_SUITE_P(urQueueGetInfoDeviceQueueTestWithInfoParam,
110110
TEST_P(urQueueGetInfoDeviceQueueTestWithInfoParam, Success) {
111111
ur_queue_info_t info_type = getParam();
112112
size_t size = 0;
113-
ASSERT_SUCCESS(urQueueGetInfo(queue, info_type, 0, nullptr, &size));
114-
ASSERT_NE(size, 0);
113+
auto result = urQueueGetInfo(queue, info_type, 0, nullptr, &size);
115114

116-
if (const auto expected_size = queue_info_size_map.find(info_type);
117-
expected_size != queue_info_size_map.end()) {
118-
ASSERT_EQ(expected_size->second, size);
119-
}
115+
if (result == UR_RESULT_SUCCESS) {
116+
ASSERT_NE(size, 0);
117+
118+
if (const auto expected_size = queue_info_size_map.find(info_type);
119+
expected_size != queue_info_size_map.end()) {
120+
ASSERT_EQ(expected_size->second, size);
121+
}
120122

121-
std::vector<uint8_t> data(size);
122-
ASSERT_SUCCESS(
123-
urQueueGetInfo(queue, info_type, size, data.data(), nullptr));
123+
std::vector<uint8_t> data(size);
124+
ASSERT_SUCCESS(
125+
urQueueGetInfo(queue, info_type, size, data.data(), nullptr));
126+
} else {
127+
ASSERT_EQ_RESULT(result, UR_RESULT_ERROR_UNSUPPORTED_ENUMERATION);
128+
}
124129
}
125130

126131
using urQueueGetInfoTest = uur::urQueueTest;

0 commit comments

Comments
 (0)