| 358 | } |
| 359 | |
| 360 | static int test_member_delete(void) |
| 361 | { |
| 362 | int ret_ht, ret_cache, ret_vbf, i; |
| 363 | uint16_t set_ht, set_cache, set_vbf; |
| 364 | const void *key_array[NUM_SAMPLES]; |
| 365 | member_set_t set_ids_ht[NUM_SAMPLES] = {0}; |
| 366 | member_set_t set_ids_cache[NUM_SAMPLES] = {0}; |
| 367 | member_set_t set_ids_vbf[NUM_SAMPLES] = {0}; |
| 368 | uint32_t num_key_ht = NUM_SAMPLES; |
| 369 | uint32_t num_key_cache = NUM_SAMPLES; |
| 370 | uint32_t num_key_vbf = NUM_SAMPLES; |
| 371 | |
| 372 | /* Delete part of all inserted keys */ |
| 373 | for (i = 0; i < NUM_SAMPLES / 2; i++) { |
| 374 | ret_ht = rte_member_delete(setsum_ht, &keys[i], test_set[i]); |
| 375 | ret_cache = rte_member_delete(setsum_cache, &keys[i], |
| 376 | test_set[i]); |
| 377 | ret_vbf = rte_member_delete(setsum_vbf, &keys[i], test_set[i]); |
| 378 | /* VBF does not support delete yet, so return error code */ |
| 379 | TEST_ASSERT(ret_ht >= 0 && ret_cache >= 0, |
| 380 | "key deletion function error"); |
| 381 | TEST_ASSERT(ret_vbf < 0, |
| 382 | "vbf does not support deletion, error"); |
| 383 | } |
| 384 | |
| 385 | for (i = 0; i < NUM_SAMPLES; i++) |
| 386 | key_array[i] = &keys[i]; |
| 387 | |
| 388 | ret_ht = rte_member_lookup_bulk(setsum_ht, key_array, |
| 389 | num_key_ht, set_ids_ht); |
| 390 | |
| 391 | ret_cache = rte_member_lookup_bulk(setsum_cache, key_array, |
| 392 | num_key_cache, set_ids_cache); |
| 393 | |
| 394 | ret_vbf = rte_member_lookup_bulk(setsum_vbf, key_array, |
| 395 | num_key_vbf, set_ids_vbf); |
| 396 | |
| 397 | TEST_ASSERT(ret_ht >= 0 && ret_cache >= 0 && ret_vbf >= 0, |
| 398 | "bulk lookup function error"); |
| 399 | |
| 400 | for (i = 0; i < NUM_SAMPLES / 2; i++) { |
| 401 | TEST_ASSERT((set_ids_ht[i] == RTE_MEMBER_NO_MATCH) && |
| 402 | (set_ids_cache[i] == RTE_MEMBER_NO_MATCH), |
| 403 | "bulk lookup result error"); |
| 404 | } |
| 405 | |
| 406 | for (i = NUM_SAMPLES / 2; i < NUM_SAMPLES; i++) { |
| 407 | TEST_ASSERT((set_ids_ht[i] == test_set[i]) && |
| 408 | (set_ids_cache[i] == test_set[i]) && |
| 409 | (set_ids_vbf[i] == test_set[i]), |
| 410 | "bulk lookup result error"); |
| 411 | } |
| 412 | |
| 413 | /* Delete the left of inserted keys */ |
| 414 | for (i = NUM_SAMPLES / 2; i < NUM_SAMPLES; i++) { |
| 415 | ret_ht = rte_member_delete(setsum_ht, &keys[i], test_set[i]); |
| 416 | ret_cache = rte_member_delete(setsum_cache, &keys[i], |
| 417 | test_set[i]); |
no test coverage detected