@@ -326,7 +326,47 @@ TEST_P(umfProviderTest, purge_force_INVALID_POINTER) {
326
326
UMF_DEVDAX_RESULT_ERROR_PURGE_FORCE_FAILED);
327
327
}
328
328
329
- // negative tests
329
+ // params tests
330
+
331
+ TEST_F (test, params_protection_flag) {
332
+ umf_devdax_memory_provider_params_handle_t params = nullptr ;
333
+ umf_result_t ret =
334
+ umfDevDaxMemoryProviderParamsCreate (¶ms, " /dev/dax0.0" , 4096 );
335
+ ASSERT_EQ (ret, UMF_RESULT_SUCCESS);
336
+ ASSERT_NE (params, nullptr );
337
+
338
+ // test all valid combinations
339
+ for (unsigned protection = UMF_PROTECTION_NONE;
340
+ protection < (UMF_PROTECTION_MAX - 1 ) << 1 ; ++protection) {
341
+ ret = umfDevDaxMemoryProviderParamsSetProtection (params, protection);
342
+ ASSERT_EQ (ret, UMF_RESULT_SUCCESS);
343
+ }
344
+
345
+ umfDevDaxMemoryProviderParamsDestroy (params);
346
+ }
347
+
348
+ // negative params tests
349
+
350
+ TEST_F (test, params_invalid_protection_flag) {
351
+ umf_devdax_memory_provider_params_handle_t params = nullptr ;
352
+ umf_result_t ret =
353
+ umfDevDaxMemoryProviderParamsCreate (¶ms, " /dev/dax0.0" , 4096 );
354
+ ASSERT_EQ (ret, UMF_RESULT_SUCCESS);
355
+ ASSERT_NE (params, nullptr );
356
+
357
+ ret = umfDevDaxMemoryProviderParamsSetProtection (params, 0 );
358
+ ASSERT_EQ (ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
359
+
360
+ for (unsigned protection = UMF_PROTECTION_NONE;
361
+ protection < (UMF_PROTECTION_MAX - 1 ) << 1 ; ++protection) {
362
+ unsigned invalid_protection = protection | (UMF_PROTECTION_MAX << 1 );
363
+ ret = umfDevDaxMemoryProviderParamsSetProtection (params,
364
+ invalid_protection);
365
+ ASSERT_EQ (ret, UMF_RESULT_ERROR_INVALID_ARGUMENT);
366
+ }
367
+
368
+ umfDevDaxMemoryProviderParamsDestroy (params);
369
+ }
330
370
331
371
TEST_F (test, params_null_handle) {
332
372
auto ret =
0 commit comments