6
6
#include < uur/fixtures.h>
7
7
#include < uur/known_failure.h>
8
8
9
- struct urUSMGetMemAllocInfoTest
9
+ struct urUSMGetMemAllocInfoPoolTest
10
10
: uur::urUSMDeviceAllocTestWithParam<ur_usm_alloc_info_t > {
11
11
void SetUp () override {
12
12
// The setup for the parent fixture does a urQueueFlush, which isn't
@@ -19,125 +19,142 @@ struct urUSMGetMemAllocInfoTest
19
19
}
20
20
};
21
21
22
- UUR_DEVICE_TEST_SUITE_P (urUSMGetMemAllocInfoTest,
23
- ::testing::Values (UR_USM_ALLOC_INFO_TYPE,
24
- UR_USM_ALLOC_INFO_BASE_PTR,
25
- UR_USM_ALLOC_INFO_SIZE,
26
- UR_USM_ALLOC_INFO_DEVICE,
27
- UR_USM_ALLOC_INFO_POOL),
22
+ UUR_DEVICE_TEST_SUITE_P (urUSMGetMemAllocInfoPoolTest,
23
+ ::testing::Values (UR_USM_ALLOC_INFO_POOL),
28
24
uur::deviceTestWithParamPrinter<ur_usm_alloc_info_t>);
29
25
30
- static std::unordered_map<ur_usm_alloc_info_t , size_t > usm_info_size_map = {
31
- {UR_USM_ALLOC_INFO_TYPE, sizeof (ur_usm_type_t )},
32
- {UR_USM_ALLOC_INFO_BASE_PTR, sizeof (void *)},
33
- {UR_USM_ALLOC_INFO_SIZE, sizeof (size_t )},
34
- {UR_USM_ALLOC_INFO_DEVICE, sizeof (ur_device_handle_t )},
35
- {UR_USM_ALLOC_INFO_POOL, sizeof (ur_usm_pool_handle_t )},
36
- };
26
+ TEST_P (urUSMGetMemAllocInfoPoolTest, SuccessPool) {
27
+ UUR_KNOWN_FAILURE_ON (uur::OpenCL{}, uur::LevelZeroV2{});
37
28
38
- TEST_P (urUSMGetMemAllocInfoTest, Success) {
39
- size_t size = 0 ;
40
- auto alloc_info = getParam ();
29
+ size_t property_size = 0 ;
30
+ ur_usm_alloc_info_t property_name = UR_USM_ALLOC_INFO_POOL;
41
31
42
- if (alloc_info == UR_USM_ALLOC_INFO_POOL) {
43
- UUR_KNOWN_FAILURE_ON (uur::OpenCL{}, uur::LevelZeroV2{});
44
- }
32
+ ASSERT_SUCCESS_OR_OPTIONAL_QUERY (
33
+ urUSMGetMemAllocInfo (context, ptr, property_name, 0 , nullptr ,
34
+ &property_size),
35
+ property_name);
36
+ ASSERT_EQ (sizeof (ur_usm_pool_handle_t ), property_size);
45
37
46
- if (alloc_info == UR_USM_ALLOC_INFO_BASE_PTR) {
47
- UUR_KNOWN_FAILURE_ON (uur::NativeCPU{});
48
- }
38
+ ur_usm_pool_handle_t returned_pool = nullptr ;
39
+ ASSERT_SUCCESS (urUSMGetMemAllocInfo (
40
+ context, ptr, property_name, property_size, &returned_pool, nullptr ));
41
+
42
+ ASSERT_EQ (returned_pool, pool);
43
+ }
44
+
45
+ using urUSMGetMemAllocInfoTest = uur::urUSMDeviceAllocTest;
46
+ UUR_INSTANTIATE_DEVICE_TEST_SUITE_P (urUSMGetMemAllocInfoTest);
47
+
48
+ TEST_P (urUSMGetMemAllocInfoTest, SuccessType) {
49
+ UUR_KNOWN_FAILURE_ON (uur::NativeCPU{});
50
+
51
+ size_t property_size = 0 ;
52
+ ur_usm_alloc_info_t property_name = UR_USM_ALLOC_INFO_TYPE;
49
53
50
54
ASSERT_SUCCESS_OR_OPTIONAL_QUERY (
51
- urUSMGetMemAllocInfo (context, ptr, alloc_info, 0 , nullptr , &size),
52
- alloc_info);
53
- ASSERT_NE (size, 0 );
55
+ urUSMGetMemAllocInfo (context, ptr, property_name, 0 , nullptr ,
56
+ &property_size),
57
+ property_name);
58
+ ASSERT_EQ (sizeof (ur_usm_type_t ), property_size);
54
59
55
- if (const auto expected_size = usm_info_size_map.find (alloc_info);
56
- expected_size != usm_info_size_map.end ()) {
57
- ASSERT_EQ (expected_size->second , size);
58
- }
60
+ ur_usm_type_t returned_type = UR_USM_TYPE_FORCE_UINT32;
61
+ ASSERT_SUCCESS (urUSMGetMemAllocInfo (
62
+ context, ptr, property_name, property_size, &returned_type, nullptr ));
59
63
60
- std::vector<uint8_t > info_data (size);
61
- ASSERT_SUCCESS (urUSMGetMemAllocInfo (context, ptr, alloc_info, size,
62
- info_data.data (), nullptr ));
63
- switch (alloc_info) {
64
- case UR_USM_ALLOC_INFO_DEVICE: {
65
- auto returned_device =
66
- reinterpret_cast <ur_device_handle_t *>(info_data.data ());
67
- ASSERT_EQ (*returned_device, device);
68
- break ;
69
- }
70
- case UR_USM_ALLOC_INFO_SIZE: {
71
- auto returned_size = reinterpret_cast <size_t *>(info_data.data ());
72
- ASSERT_GE (*returned_size, allocation_size);
73
- break ;
74
- }
75
- case UR_USM_ALLOC_INFO_BASE_PTR: {
76
- auto returned_ptr = reinterpret_cast <void **>(info_data.data ());
77
- ASSERT_EQ (*returned_ptr, ptr);
78
- break ;
79
- }
80
- case UR_USM_ALLOC_INFO_POOL: {
81
- auto returned_pool =
82
- reinterpret_cast <ur_usm_pool_handle_t *>(info_data.data ());
83
- ASSERT_EQ (*returned_pool, pool);
84
- break ;
85
- }
86
- case UR_USM_ALLOC_INFO_TYPE: {
87
- auto returned_type =
88
- reinterpret_cast <ur_usm_type_t *>(info_data.data ());
89
- ASSERT_EQ (*returned_type, UR_USM_TYPE_DEVICE);
90
- break ;
91
- }
92
- default :
93
- break ;
94
- }
64
+ ASSERT_EQ (returned_type, UR_USM_TYPE_DEVICE);
95
65
}
96
66
97
- struct urUSMGetMemAllocInfoNegativeTest : uur::urUSMDeviceAllocTest {
98
- void SetUp () override {
99
- // The setup for the parent fixture does a urQueueFlush, which isn't
100
- // supported by native cpu.
101
- UUR_KNOWN_FAILURE_ON (uur::NativeCPU{});
102
- UUR_RETURN_ON_FATAL_FAILURE (uur::urUSMDeviceAllocTest::SetUp ());
103
- }
104
- };
105
- UUR_INSTANTIATE_DEVICE_TEST_SUITE_P (urUSMGetMemAllocInfoNegativeTest);
67
+ TEST_P (urUSMGetMemAllocInfoTest, SuccessBasePtr) {
68
+ UUR_KNOWN_FAILURE_ON (uur::NativeCPU{});
106
69
107
- TEST_P (urUSMGetMemAllocInfoNegativeTest, InvalidNullHandleContext) {
70
+ size_t property_size = 0 ;
71
+ ur_usm_alloc_info_t property_name = UR_USM_ALLOC_INFO_BASE_PTR;
72
+
73
+ ASSERT_SUCCESS_OR_OPTIONAL_QUERY (
74
+ urUSMGetMemAllocInfo (context, ptr, property_name, 0 , nullptr ,
75
+ &property_size),
76
+ property_name);
77
+ ASSERT_GT (property_size, 0 );
78
+
79
+ void *returned_ptr = nullptr ;
80
+ ASSERT_SUCCESS (urUSMGetMemAllocInfo (context, ptr, property_name,
81
+ property_size, &returned_ptr, nullptr ));
82
+
83
+ ASSERT_EQ (returned_ptr, ptr);
84
+ }
85
+
86
+ TEST_P (urUSMGetMemAllocInfoTest, SuccessSize) {
108
87
UUR_KNOWN_FAILURE_ON (uur::NativeCPU{});
109
88
110
- ur_usm_type_t USMType;
111
- ASSERT_EQ_RESULT (UR_RESULT_ERROR_INVALID_NULL_HANDLE,
112
- urUSMGetMemAllocInfo (nullptr , ptr, UR_USM_ALLOC_INFO_TYPE,
113
- sizeof (ur_usm_type_t ), &USMType,
114
- nullptr ));
89
+ size_t property_size = 0 ;
90
+ ur_usm_alloc_info_t property_name = UR_USM_ALLOC_INFO_SIZE;
91
+
92
+ ASSERT_SUCCESS_OR_OPTIONAL_QUERY (
93
+ urUSMGetMemAllocInfo (context, ptr, property_name, 0 , nullptr ,
94
+ &property_size),
95
+ property_name);
96
+ ASSERT_EQ (sizeof (size_t ), property_size);
97
+
98
+ size_t returned_size = 0 ;
99
+ ASSERT_SUCCESS (urUSMGetMemAllocInfo (
100
+ context, ptr, property_name, property_size, &returned_size, nullptr ));
101
+
102
+ ASSERT_GE (returned_size, allocation_size);
103
+ }
104
+
105
+ TEST_P (urUSMGetMemAllocInfoTest, SuccessDevice) {
106
+ UUR_KNOWN_FAILURE_ON (uur::NativeCPU{});
107
+
108
+ size_t property_size = 0 ;
109
+ ur_usm_alloc_info_t property_name = UR_USM_ALLOC_INFO_DEVICE;
110
+
111
+ ASSERT_SUCCESS_OR_OPTIONAL_QUERY (
112
+ urUSMGetMemAllocInfo (context, ptr, property_name, 0 , nullptr ,
113
+ &property_size),
114
+ property_name);
115
+ ASSERT_EQ (sizeof (ur_device_handle_t ), property_size);
116
+
117
+ ur_device_handle_t returned_device = nullptr ;
118
+ ASSERT_SUCCESS (urUSMGetMemAllocInfo (
119
+ context, ptr, property_name, property_size, &returned_device, nullptr ));
120
+
121
+ ASSERT_EQ (returned_device, device);
122
+ }
123
+
124
+ TEST_P (urUSMGetMemAllocInfoTest, InvalidNullHandleContext) {
125
+ UUR_KNOWN_FAILURE_ON (uur::NativeCPU{});
126
+
127
+ ur_usm_type_t USMType = UR_USM_TYPE_FORCE_UINT32;
128
+ ASSERT_EQ_RESULT (
129
+ UR_RESULT_ERROR_INVALID_NULL_HANDLE,
130
+ urUSMGetMemAllocInfo (nullptr , ptr, UR_USM_ALLOC_INFO_FORCE_UINT32,
131
+ sizeof (ur_usm_type_t ), &USMType, nullptr ));
115
132
}
116
133
117
- TEST_P (urUSMGetMemAllocInfoNegativeTest , InvalidNullPointerMem) {
134
+ TEST_P (urUSMGetMemAllocInfoTest , InvalidNullPointerMem) {
118
135
UUR_KNOWN_FAILURE_ON (uur::NativeCPU{});
119
136
120
- ur_usm_type_t USMType;
137
+ ur_usm_type_t USMType = UR_USM_TYPE_FORCE_UINT32 ;
121
138
ASSERT_EQ_RESULT (
122
139
UR_RESULT_ERROR_INVALID_NULL_POINTER,
123
- urUSMGetMemAllocInfo (context, nullptr , UR_USM_ALLOC_INFO_TYPE ,
140
+ urUSMGetMemAllocInfo (context, nullptr , UR_USM_ALLOC_INFO_FORCE_UINT32 ,
124
141
sizeof (ur_usm_type_t ), &USMType, nullptr ));
125
142
}
126
143
127
- TEST_P (urUSMGetMemAllocInfoNegativeTest , InvalidEnumeration) {
144
+ TEST_P (urUSMGetMemAllocInfoTest , InvalidEnumeration) {
128
145
UUR_KNOWN_FAILURE_ON (uur::NativeCPU{});
129
146
130
- ur_usm_type_t USMType;
147
+ ur_usm_type_t USMType = UR_USM_TYPE_FORCE_UINT32 ;
131
148
ASSERT_EQ_RESULT (
132
149
UR_RESULT_ERROR_INVALID_ENUMERATION,
133
150
urUSMGetMemAllocInfo (context, ptr, UR_USM_ALLOC_INFO_FORCE_UINT32,
134
151
sizeof (ur_usm_type_t ), &USMType, nullptr ));
135
152
}
136
153
137
- TEST_P (urUSMGetMemAllocInfoNegativeTest , InvalidValuePropSize) {
154
+ TEST_P (urUSMGetMemAllocInfoTest , InvalidValuePropSize) {
138
155
UUR_KNOWN_FAILURE_ON (uur::NativeCPU{});
139
156
140
- ur_usm_type_t USMType;
157
+ ur_usm_type_t USMType = UR_USM_TYPE_FORCE_UINT32 ;
141
158
ASSERT_EQ_RESULT (UR_RESULT_ERROR_INVALID_SIZE,
142
159
urUSMGetMemAllocInfo (context, ptr, UR_USM_ALLOC_INFO_TYPE,
143
160
sizeof (ur_usm_type_t ) - 1 , &USMType,
0 commit comments