Skip to content

Commit 252a3cc

Browse files
Merge pull request #1394 from omarahmed1111/Add-missing-coverage-in-the-CTS-tests
Add some missing validations in CTS
2 parents 93e8469 + b4e3503 commit 252a3cc

File tree

9 files changed

+120
-7
lines changed

9 files changed

+120
-7
lines changed

test/conformance/device/urDeviceGet.cpp

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,42 @@ TEST_F(urDeviceGetTest, SuccessSubsetOfDevices) {
3535
}
3636
}
3737

38+
struct urDeviceGetTestWithDeviceTypeParam
39+
: uur::urAllDevicesTest,
40+
::testing::WithParamInterface<ur_device_type_t> {
41+
42+
void SetUp() override {
43+
UUR_RETURN_ON_FATAL_FAILURE(uur::urAllDevicesTest::SetUp());
44+
}
45+
};
46+
47+
INSTANTIATE_TEST_SUITE_P(
48+
, urDeviceGetTestWithDeviceTypeParam,
49+
::testing::Values(UR_DEVICE_TYPE_DEFAULT, UR_DEVICE_TYPE_GPU,
50+
UR_DEVICE_TYPE_CPU, UR_DEVICE_TYPE_FPGA,
51+
UR_DEVICE_TYPE_MCA, UR_DEVICE_TYPE_VPU),
52+
[](const ::testing::TestParamInfo<ur_device_type_t> &info) {
53+
std::stringstream ss;
54+
ss << info.param;
55+
return ss.str();
56+
});
57+
58+
TEST_P(urDeviceGetTestWithDeviceTypeParam, Success) {
59+
ur_device_type_t device_type = GetParam();
60+
uint32_t count = 0;
61+
ASSERT_SUCCESS(urDeviceGet(platform, device_type, 0, nullptr, &count));
62+
ASSERT_GE(devices.size(), count);
63+
64+
if (count > 0) {
65+
std::vector<ur_device_handle_t> devices(count);
66+
ASSERT_SUCCESS(
67+
urDeviceGet(platform, device_type, count, devices.data(), nullptr));
68+
for (auto device : devices) {
69+
ASSERT_NE(nullptr, device);
70+
}
71+
}
72+
}
73+
3874
TEST_F(urDeviceGetTest, InvalidNullHandlePlatform) {
3975
uint32_t count;
4076
ASSERT_EQ_RESULT(

test/conformance/enqueue/urEnqueueMemBufferMap.cpp

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,21 @@ TEST_P(urEnqueueMemBufferMapTest, SuccessRead) {
2121
}
2222
}
2323

24-
TEST_P(urEnqueueMemBufferMapTest, SuccessWrite) {
24+
using urEnqueueMemBufferMapTestWithWriteFlagParam =
25+
uur::urMemBufferQueueTestWithParam<ur_map_flag_t>;
26+
UUR_TEST_SUITE_P(urEnqueueMemBufferMapTestWithWriteFlagParam,
27+
::testing::Values(UR_MAP_FLAG_WRITE,
28+
UR_MAP_FLAG_WRITE_INVALIDATE_REGION),
29+
uur::deviceTestWithParamPrinter<ur_map_flag_t>);
30+
31+
TEST_P(urEnqueueMemBufferMapTestWithWriteFlagParam, SuccessWrite) {
2532
const std::vector<uint32_t> input(count, 0);
2633
ASSERT_SUCCESS(urEnqueueMemBufferWrite(queue, buffer, true, 0, size,
2734
input.data(), 0, nullptr, nullptr));
2835

2936
uint32_t *map = nullptr;
30-
ASSERT_SUCCESS(urEnqueueMemBufferMap(queue, buffer, true, UR_MAP_FLAG_WRITE,
31-
0, size, 0, nullptr, nullptr,
37+
ASSERT_SUCCESS(urEnqueueMemBufferMap(queue, buffer, true, getParam(), 0,
38+
size, 0, nullptr, nullptr,
3239
(void **)&map));
3340
for (unsigned i = 0; i < count; ++i) {
3441
map[i] = 42;

test/conformance/memory/urMemBufferCreate.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,18 @@ UUR_TEST_SUITE_P(urMemBufferCreateWithHostPtrFlagsTest,
4848
UR_MEM_FLAG_USE_HOST_POINTER),
4949
uur::deviceTestWithParamPrinter<ur_mem_flag_t>);
5050

51+
TEST_P(urMemBufferCreateWithHostPtrFlagsTest, SUCCESS) {
52+
uur::raii::Mem host_ptr_buffer = nullptr;
53+
ASSERT_SUCCESS(urMemBufferCreate(context, UR_MEM_FLAG_ALLOC_HOST_POINTER,
54+
4096, nullptr, host_ptr_buffer.ptr()));
55+
56+
ur_buffer_properties_t properties{UR_STRUCTURE_TYPE_BUFFER_PROPERTIES,
57+
nullptr, host_ptr_buffer.ptr()};
58+
uur::raii::Mem buffer = nullptr;
59+
ASSERT_SUCCESS(urMemBufferCreate(context, getParam(), 4096, &properties,
60+
buffer.ptr()));
61+
}
62+
5163
TEST_P(urMemBufferCreateWithHostPtrFlagsTest, InvalidHostPtr) {
5264
uur::raii::Mem buffer = nullptr;
5365
ASSERT_EQ_RESULT(

test/conformance/platform/urPlatformGetInfo.cpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ INSTANTIATE_TEST_SUITE_P(
1919
urPlatformGetInfo, urPlatformGetInfoTest,
2020
::testing::Values(UR_PLATFORM_INFO_NAME, UR_PLATFORM_INFO_VENDOR_NAME,
2121
UR_PLATFORM_INFO_VERSION, UR_PLATFORM_INFO_EXTENSIONS,
22-
UR_PLATFORM_INFO_PROFILE),
22+
UR_PLATFORM_INFO_PROFILE, UR_PLATFORM_INFO_BACKEND),
2323
[](const ::testing::TestParamInfo<ur_platform_info_t> &info) {
2424
std::stringstream ss;
2525
ss << info.param;
@@ -30,11 +30,17 @@ TEST_P(urPlatformGetInfoTest, Success) {
3030
size_t size = 0;
3131
ur_platform_info_t info_type = GetParam();
3232
ASSERT_SUCCESS(urPlatformGetInfo(platform, info_type, 0, nullptr, &size));
33-
ASSERT_NE(size, 0);
33+
if (info_type == UR_PLATFORM_INFO_BACKEND) {
34+
ASSERT_EQ(size, sizeof(ur_platform_backend_t));
35+
} else {
36+
ASSERT_NE(size, 0);
37+
}
3438
std::vector<char> name(size);
3539
ASSERT_SUCCESS(
3640
urPlatformGetInfo(platform, info_type, size, name.data(), nullptr));
37-
ASSERT_EQ(size, std::strlen(name.data()) + 1);
41+
if (info_type != UR_PLATFORM_INFO_BACKEND) {
42+
ASSERT_EQ(size, std::strlen(name.data()) + 1);
43+
}
3844
}
3945

4046
TEST_P(urPlatformGetInfoTest, InvalidNullHandlePlatform) {

test/conformance/program/urProgramBuild.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ TEST_P(urProgramBuildTest, Success) {
1212
ASSERT_SUCCESS(urProgramBuild(context, program, nullptr));
1313
}
1414

15+
TEST_P(urProgramBuildTest, SuccessWithOptions) {
16+
const char *pOptions = "";
17+
ASSERT_SUCCESS(urProgramBuild(context, program, pOptions));
18+
}
19+
1520
TEST_P(urProgramBuildTest, InvalidNullHandleContext) {
1621
ASSERT_EQ_RESULT(UR_RESULT_ERROR_INVALID_NULL_HANDLE,
1722
urProgramBuild(nullptr, program, nullptr));

test/conformance/program/urProgramCreateWithIL.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,15 @@ TEST_P(urProgramCreateWithILTest, Success) {
3636
ASSERT_SUCCESS(urProgramRelease(program));
3737
}
3838

39+
TEST_P(urProgramCreateWithILTest, SuccessWithProperties) {
40+
ur_program_properties_t properties{UR_STRUCTURE_TYPE_PROGRAM_PROPERTIES};
41+
ur_program_handle_t program = nullptr;
42+
ASSERT_SUCCESS(urProgramCreateWithIL(
43+
context, il_binary->data(), il_binary->size(), &properties, &program));
44+
ASSERT_NE(nullptr, program);
45+
ASSERT_SUCCESS(urProgramRelease(program));
46+
}
47+
3948
TEST_P(urProgramCreateWithILTest, InvalidNullHandle) {
4049
ur_program_handle_t program = nullptr;
4150
ASSERT_EQ_RESULT(UR_RESULT_ERROR_INVALID_NULL_HANDLE,

test/conformance/queue/queue_adapter_native_cpu.match

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
urQueueCreateWithParamTest.SuccessWithProperties/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE
22
urQueueCreateWithParamTest.SuccessWithProperties/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_FLAG_PROFILING_ENABLE
3+
urQueueCreateWithParamTest.SuccessWithProperties/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_FLAG_ON_DEVICE
4+
urQueueCreateWithParamTest.SuccessWithProperties/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_FLAG_ON_DEVICE_DEFAULT
5+
urQueueCreateWithParamTest.SuccessWithProperties/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_FLAG_DISCARD_EVENTS
6+
urQueueCreateWithParamTest.SuccessWithProperties/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_FLAG_PRIORITY_LOW
7+
urQueueCreateWithParamTest.SuccessWithProperties/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_FLAG_PRIORITY_HIGH
8+
urQueueCreateWithParamTest.SuccessWithProperties/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_FLAG_SUBMISSION_BATCHED
9+
urQueueCreateWithParamTest.SuccessWithProperties/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_FLAG_SUBMISSION_IMMEDIATE
10+
urQueueCreateWithParamTest.SuccessWithProperties/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_FLAG_USE_DEFAULT_STREAM
11+
urQueueCreateWithParamTest.SuccessWithProperties/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_FLAG_SYNC_WITH_DEFAULT_STREAM
312
urQueueFinishTest.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU_
413
urQueueFlushTest.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU_
514
urQueueGetInfoTestWithInfoParam.Success/SYCL_NATIVE_CPU___SYCL_Native_CPU___UR_QUEUE_INFO_CONTEXT

test/conformance/queue/urQueueCreate.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,16 @@ TEST_P(urQueueCreateTest, Success) {
1717
using urQueueCreateWithParamTest = uur::urContextTestWithParam<ur_queue_flag_t>;
1818
UUR_TEST_SUITE_P(urQueueCreateWithParamTest,
1919
testing::Values(UR_QUEUE_FLAG_OUT_OF_ORDER_EXEC_MODE_ENABLE,
20-
UR_QUEUE_FLAG_PROFILING_ENABLE),
20+
UR_QUEUE_FLAG_PROFILING_ENABLE,
21+
UR_QUEUE_FLAG_ON_DEVICE,
22+
UR_QUEUE_FLAG_ON_DEVICE_DEFAULT,
23+
UR_QUEUE_FLAG_DISCARD_EVENTS,
24+
UR_QUEUE_FLAG_PRIORITY_LOW,
25+
UR_QUEUE_FLAG_PRIORITY_HIGH,
26+
UR_QUEUE_FLAG_SUBMISSION_BATCHED,
27+
UR_QUEUE_FLAG_SUBMISSION_IMMEDIATE,
28+
UR_QUEUE_FLAG_USE_DEFAULT_STREAM,
29+
UR_QUEUE_FLAG_SYNC_WITH_DEFAULT_STREAM),
2130
uur::deviceTestWithParamPrinter<ur_queue_flag_t>);
2231

2332
TEST_P(urQueueCreateWithParamTest, SuccessWithProperties) {

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

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -526,6 +526,26 @@ struct urMemBufferQueueTest : urQueueTest {
526526
ur_mem_handle_t buffer = nullptr;
527527
};
528528

529+
template <class T>
530+
struct urMemBufferQueueTestWithParam : urQueueTestWithParam<T> {
531+
void SetUp() override {
532+
UUR_RETURN_ON_FATAL_FAILURE(uur::urQueueTestWithParam<T>::SetUp());
533+
ASSERT_SUCCESS(urMemBufferCreate(this->context, UR_MEM_FLAG_READ_WRITE,
534+
size, nullptr, &buffer));
535+
}
536+
537+
void TearDown() override {
538+
if (buffer) {
539+
EXPECT_SUCCESS(urMemRelease(buffer));
540+
}
541+
UUR_RETURN_ON_FATAL_FAILURE(uur::urQueueTestWithParam<T>::TearDown());
542+
}
543+
544+
const size_t count = 8;
545+
const size_t size = sizeof(uint32_t) * count;
546+
ur_mem_handle_t buffer = nullptr;
547+
};
548+
529549
struct urMemImageQueueTest : urQueueTest {
530550
void SetUp() override {
531551
UUR_RETURN_ON_FATAL_FAILURE(urQueueTest::SetUp());

0 commit comments

Comments
 (0)