@@ -125,6 +125,43 @@ TEST_P(umfCUDAProviderTest, basic) {
125125 umfMemoryProviderDestroy (provider);
126126}
127127
128+ TEST_P (umfCUDAProviderTest, getPageSize) {
129+ umf_memory_provider_handle_t provider = nullptr ;
130+ umf_result_t umf_result =
131+ umfMemoryProviderCreate (umfCUDAMemoryProviderOps (), ¶ms, &provider);
132+ ASSERT_EQ (umf_result, UMF_RESULT_SUCCESS);
133+ ASSERT_NE (provider, nullptr );
134+
135+ size_t recommendedPageSize = 0 ;
136+ umf_result = umfMemoryProviderGetRecommendedPageSize (provider, 0 ,
137+ &recommendedPageSize);
138+ ASSERT_EQ (umf_result, UMF_RESULT_SUCCESS);
139+ ASSERT_GE (recommendedPageSize, 0 );
140+
141+ size_t minPageSize = 0 ;
142+ umf_result =
143+ umfMemoryProviderGetMinPageSize (provider, nullptr , &minPageSize);
144+ ASSERT_EQ (umf_result, UMF_RESULT_SUCCESS);
145+ ASSERT_GE (minPageSize, 0 );
146+
147+ ASSERT_GE (recommendedPageSize, minPageSize);
148+
149+ umfMemoryProviderDestroy (provider);
150+ }
151+
152+ TEST_P (umfCUDAProviderTest, getName) {
153+ umf_memory_provider_handle_t provider = nullptr ;
154+ umf_result_t umf_result =
155+ umfMemoryProviderCreate (umfCUDAMemoryProviderOps (), ¶ms, &provider);
156+ ASSERT_EQ (umf_result, UMF_RESULT_SUCCESS);
157+ ASSERT_NE (provider, nullptr );
158+
159+ const char *name = umfMemoryProviderGetName (provider);
160+ ASSERT_STREQ (name, " CUDA" );
161+
162+ umfMemoryProviderDestroy (provider);
163+ }
164+
128165TEST_P (umfCUDAProviderTest, allocInvalidSize) {
129166 CUcontext expected_current_context = get_current_context ();
130167 // create CUDA provider
@@ -152,6 +189,32 @@ TEST_P(umfCUDAProviderTest, allocInvalidSize) {
152189 umfMemoryProviderDestroy (provider);
153190}
154191
192+ TEST_P (umfCUDAProviderTest, providerCreateInvalidArgs) {
193+ umf_memory_provider_handle_t provider = nullptr ;
194+ umf_result_t umf_result =
195+ umfMemoryProviderCreate (umfCUDAMemoryProviderOps (), nullptr , &provider);
196+ ASSERT_EQ (umf_result, UMF_RESULT_ERROR_INVALID_ARGUMENT);
197+
198+ umf_result = umfMemoryProviderCreate (nullptr , ¶ms, nullptr );
199+ ASSERT_EQ (umf_result, UMF_RESULT_ERROR_INVALID_ARGUMENT);
200+ }
201+
202+ TEST_P (umfCUDAProviderTest, getPageSizeInvalidArgs) {
203+ umf_memory_provider_handle_t provider = nullptr ;
204+ umf_result_t umf_result =
205+ umfMemoryProviderCreate (umfCUDAMemoryProviderOps (), ¶ms, &provider);
206+ ASSERT_EQ (umf_result, UMF_RESULT_SUCCESS);
207+ ASSERT_NE (provider, nullptr );
208+
209+ umf_result = umfMemoryProviderGetMinPageSize (provider, nullptr , nullptr );
210+ ASSERT_EQ (umf_result, UMF_RESULT_ERROR_INVALID_ARGUMENT);
211+
212+ umf_result = umfMemoryProviderGetRecommendedPageSize (provider, 0 , nullptr );
213+ ASSERT_EQ (umf_result, UMF_RESULT_ERROR_INVALID_ARGUMENT);
214+
215+ umfMemoryProviderDestroy (provider);
216+ }
217+
155218// TODO add tests that mixes CUDA Memory Provider and Disjoint Pool
156219
157220cuda_memory_provider_params_t cuParams_device_memory =
0 commit comments