22// Part of the Unified-Runtime Project, under the Apache License v2.0 with LLVM Exceptions.
33// See LICENSE.TXT
44// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
5+ #include " helpers.h"
56#include < uur/fixtures.h>
67
7- using urEnqueueMemBufferMapTest = uur::urMemBufferQueueTest;
8- UUR_INSTANTIATE_DEVICE_TEST_SUITE_P (urEnqueueMemBufferMapTest);
9-
10- TEST_P (urEnqueueMemBufferMapTest, SuccessRead) {
8+ using urEnqueueMemBufferMapTestWithParam =
9+ uur::urMemBufferQueueTestWithParam<uur::mem_buffer_test_parameters_t >;
10+
11+ static std::vector<uur::mem_buffer_test_parameters_t > test_parameters{
12+ {1024 , UR_MEM_FLAG_READ_WRITE},
13+ {2500 , UR_MEM_FLAG_READ_WRITE},
14+ {4096 , UR_MEM_FLAG_READ_WRITE},
15+ {6000 , UR_MEM_FLAG_READ_WRITE},
16+ {1024 , UR_MEM_FLAG_WRITE_ONLY},
17+ {2500 , UR_MEM_FLAG_WRITE_ONLY},
18+ {4096 , UR_MEM_FLAG_WRITE_ONLY},
19+ {6000 , UR_MEM_FLAG_WRITE_ONLY},
20+ {1024 , UR_MEM_FLAG_READ_ONLY},
21+ {2500 , UR_MEM_FLAG_READ_ONLY},
22+ {4096 , UR_MEM_FLAG_READ_ONLY},
23+ {6000 , UR_MEM_FLAG_READ_ONLY},
24+ {1024 , UR_MEM_FLAG_ALLOC_HOST_POINTER},
25+ {2500 , UR_MEM_FLAG_ALLOC_HOST_POINTER},
26+ {4096 , UR_MEM_FLAG_ALLOC_HOST_POINTER},
27+ {6000 , UR_MEM_FLAG_ALLOC_HOST_POINTER},
28+ };
29+
30+ UUR_TEST_SUITE_P (
31+ urEnqueueMemBufferMapTestWithParam, ::testing::ValuesIn(test_parameters),
32+ uur::printMemBufferTestString<urEnqueueMemBufferMapTestWithParam>);
33+
34+ TEST_P (urEnqueueMemBufferMapTestWithParam, SuccessRead) {
1135 const std::vector<uint32_t > input (count, 42 );
1236 ASSERT_SUCCESS (urEnqueueMemBufferWrite (queue, buffer, true , 0 , size,
1337 input.data (), 0 , nullptr , nullptr ));
@@ -21,22 +45,30 @@ TEST_P(urEnqueueMemBufferMapTest, SuccessRead) {
2145 }
2246}
2347
48+ static std::vector<uur::mem_buffer_map_write_test_parameters_t >
49+ map_write_test_parameters{
50+ {8 , UR_MEM_FLAG_READ_WRITE, UR_MAP_FLAG_WRITE},
51+ {8 , UR_MEM_FLAG_READ_WRITE, UR_MAP_FLAG_WRITE_INVALIDATE_REGION},
52+ };
53+
2454using urEnqueueMemBufferMapTestWithWriteFlagParam =
25- uur::urMemBufferQueueTestWithParam<ur_map_flag_t >;
55+ uur::urMemBufferQueueTestWithParam<
56+ uur::mem_buffer_map_write_test_parameters_t >;
57+
2658UUR_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 >);
59+ ::testing::ValuesIn (map_write_test_parameters) ,
60+ uur::printMemBufferMapWriteTestString<
61+ urEnqueueMemBufferMapTestWithWriteFlagParam >);
3062
3163TEST_P (urEnqueueMemBufferMapTestWithWriteFlagParam, SuccessWrite) {
3264 const std::vector<uint32_t > input (count, 0 );
3365 ASSERT_SUCCESS (urEnqueueMemBufferWrite (queue, buffer, true , 0 , size,
3466 input.data (), 0 , nullptr , nullptr ));
3567
3668 uint32_t *map = nullptr ;
37- ASSERT_SUCCESS (urEnqueueMemBufferMap (queue, buffer, true , getParam (), 0 ,
38- size , 0 , nullptr , nullptr ,
39- (void **)&map));
69+ ASSERT_SUCCESS (urEnqueueMemBufferMap (queue, buffer, true ,
70+ getParam (). map_flag , 0 , size, 0 ,
71+ nullptr , nullptr , (void **)&map));
4072 for (unsigned i = 0 ; i < count; ++i) {
4173 map[i] = 42 ;
4274 }
@@ -49,7 +81,7 @@ TEST_P(urEnqueueMemBufferMapTestWithWriteFlagParam, SuccessWrite) {
4981 }
5082}
5183
52- TEST_P (urEnqueueMemBufferMapTest , SuccessOffset) {
84+ TEST_P (urEnqueueMemBufferMapTestWithParam , SuccessOffset) {
5385 const std::vector<uint32_t > input (count, 0 );
5486 ASSERT_SUCCESS (urEnqueueMemBufferWrite (queue, buffer, true , 0 , size,
5587 input.data (), 0 , nullptr , nullptr ));
@@ -78,7 +110,7 @@ TEST_P(urEnqueueMemBufferMapTest, SuccessOffset) {
78110 }
79111}
80112
81- TEST_P (urEnqueueMemBufferMapTest , SuccessPartialMap) {
113+ TEST_P (urEnqueueMemBufferMapTestWithParam , SuccessPartialMap) {
82114 const std::vector<uint32_t > input (count, 0 );
83115 ASSERT_SUCCESS (urEnqueueMemBufferWrite (queue, buffer, true , 0 , size,
84116 input.data (), 0 , nullptr , nullptr ));
@@ -106,7 +138,7 @@ TEST_P(urEnqueueMemBufferMapTest, SuccessPartialMap) {
106138 }
107139}
108140
109- TEST_P (urEnqueueMemBufferMapTest , SuccesPinnedRead) {
141+ TEST_P (urEnqueueMemBufferMapTestWithParam , SuccesPinnedRead) {
110142 const size_t memSize = sizeof (int );
111143 const int value = 20 ;
112144
@@ -130,7 +162,7 @@ TEST_P(urEnqueueMemBufferMapTest, SuccesPinnedRead) {
130162 ASSERT_SUCCESS (urMemRelease (memObj));
131163}
132164
133- TEST_P (urEnqueueMemBufferMapTest , SuccesPinnedWrite) {
165+ TEST_P (urEnqueueMemBufferMapTestWithParam , SuccesPinnedWrite) {
134166 const size_t memSize = sizeof (int );
135167 const int value = 30 ;
136168
@@ -157,7 +189,7 @@ TEST_P(urEnqueueMemBufferMapTest, SuccesPinnedWrite) {
157189 ASSERT_SUCCESS (urMemRelease (memObj));
158190}
159191
160- TEST_P (urEnqueueMemBufferMapTest , SuccessMultiMaps) {
192+ TEST_P (urEnqueueMemBufferMapTestWithParam , SuccessMultiMaps) {
161193 const std::vector<uint32_t > input (count, 0 );
162194 ASSERT_SUCCESS (urEnqueueMemBufferWrite (queue, buffer, true , 0 , size,
163195 input.data (), 0 , nullptr , nullptr ));
@@ -198,39 +230,39 @@ TEST_P(urEnqueueMemBufferMapTest, SuccessMultiMaps) {
198230 }
199231}
200232
201- TEST_P (urEnqueueMemBufferMapTest , InvalidNullHandleQueue) {
233+ TEST_P (urEnqueueMemBufferMapTestWithParam , InvalidNullHandleQueue) {
202234 void *map = nullptr ;
203235 ASSERT_EQ_RESULT (UR_RESULT_ERROR_INVALID_NULL_HANDLE,
204236 urEnqueueMemBufferMap (nullptr , buffer, true ,
205237 UR_MAP_FLAG_READ | UR_MAP_FLAG_WRITE,
206238 0 , size, 0 , nullptr , nullptr , &map));
207239}
208240
209- TEST_P (urEnqueueMemBufferMapTest , InvalidNullHandleBuffer) {
241+ TEST_P (urEnqueueMemBufferMapTestWithParam , InvalidNullHandleBuffer) {
210242 void *map = nullptr ;
211243 ASSERT_EQ_RESULT (UR_RESULT_ERROR_INVALID_NULL_HANDLE,
212244 urEnqueueMemBufferMap (queue, nullptr , true ,
213245 UR_MAP_FLAG_READ | UR_MAP_FLAG_WRITE,
214246 0 , size, 0 , nullptr , nullptr , &map));
215247}
216248
217- TEST_P (urEnqueueMemBufferMapTest , InvalidEnumerationMapFlags) {
249+ TEST_P (urEnqueueMemBufferMapTestWithParam , InvalidEnumerationMapFlags) {
218250 void *map = nullptr ;
219251 ASSERT_EQ_RESULT (UR_RESULT_ERROR_INVALID_ENUMERATION,
220252 urEnqueueMemBufferMap (queue, buffer, true ,
221253 UR_MAP_FLAG_FORCE_UINT32, 0 , size, 0 ,
222254 nullptr , nullptr , &map));
223255}
224256
225- TEST_P (urEnqueueMemBufferMapTest , InvalidNullPointerRetMap) {
257+ TEST_P (urEnqueueMemBufferMapTestWithParam , InvalidNullPointerRetMap) {
226258 ASSERT_EQ_RESULT (UR_RESULT_ERROR_INVALID_NULL_POINTER,
227259 urEnqueueMemBufferMap (queue, buffer, true ,
228260 UR_MAP_FLAG_READ | UR_MAP_FLAG_WRITE,
229261 0 , size, 0 , nullptr , nullptr ,
230262 nullptr ));
231263}
232264
233- TEST_P (urEnqueueMemBufferMapTest , InvalidNullPtrEventWaitList) {
265+ TEST_P (urEnqueueMemBufferMapTestWithParam , InvalidNullPtrEventWaitList) {
234266 void *map;
235267 ASSERT_EQ_RESULT (urEnqueueMemBufferMap (queue, buffer, true ,
236268 UR_MAP_FLAG_READ | UR_MAP_FLAG_WRITE,
@@ -255,7 +287,7 @@ TEST_P(urEnqueueMemBufferMapTest, InvalidNullPtrEventWaitList) {
255287 ASSERT_SUCCESS (urEventRelease (validEvent));
256288}
257289
258- TEST_P (urEnqueueMemBufferMapTest , InvalidSize) {
290+ TEST_P (urEnqueueMemBufferMapTestWithParam , InvalidSize) {
259291 void *map = nullptr ;
260292 ASSERT_EQ_RESULT (UR_RESULT_ERROR_INVALID_SIZE,
261293 urEnqueueMemBufferMap (queue, buffer, true , 0 , 1 , size, 0 ,
0 commit comments