MCPcopy Create free account
hub / github.com/F-Stack/f-stack / test_add_update_delete

Function test_add_update_delete

dpdk/app/test/test_efd.c:167–207  ·  view source on GitHub ↗

* Sequence of operations for a single key: * - add * - lookup: hit * - add: update * - lookup: hit (updated data) * - delete: hit */

Source from the content-addressed store, hash-verified

165 * - delete: hit
166 */
167static int test_add_update_delete(void)
168{
169 struct rte_efd_table *handle;
170 printf("Entering %s\n", __func__);
171 /* test with standard add/lookup/delete functions */
172 efd_value_t prev_value;
173 data[1] = mrand48() & VALUE_BITMASK;
174
175 handle = rte_efd_create("test_add_update_delete", TABLE_SIZE,
176 sizeof(struct flow_key),
177 efd_get_all_sockets_bitmask(), test_socket_id);
178 TEST_ASSERT_NOT_NULL(handle, "Error creating the efd table\n");
179
180 TEST_ASSERT_SUCCESS(rte_efd_update(handle, test_socket_id, &keys[1],
181 data[1]), "Error inserting the key");
182 print_key_info("Add", &keys[1], data[1]);
183
184 TEST_ASSERT_EQUAL(rte_efd_lookup(handle, test_socket_id, &keys[1]),
185 data[1], "failed to find key");
186 print_key_info("Lkp", &keys[1], data[1]);
187
188 data[1] = data[1] + 1;
189 TEST_ASSERT_SUCCESS(rte_efd_update(handle, test_socket_id, &keys[1],
190 data[1]), "Error re-inserting the key");
191 print_key_info("Add", &keys[1], data[1]);
192
193 TEST_ASSERT_EQUAL(rte_efd_lookup(handle, test_socket_id, &keys[1]),
194 data[1], "failed to find key");
195 print_key_info("Lkp", &keys[1], data[1]);
196
197 TEST_ASSERT_SUCCESS(rte_efd_delete(handle, test_socket_id, &keys[1],
198 &prev_value), "failed to delete key");
199 TEST_ASSERT_EQUAL(prev_value, data[1],
200 "failed to delete the expected value, got %d, "
201 "expected %d", prev_value, data[1]);
202 print_key_info("Del", &keys[1], data[1]);
203
204
205 rte_efd_free(handle);
206 return 0;
207}
208
209/*
210 * Sequence of operations for find existing EFD table

Callers 1

test_efdFunction · 0.70

Calls 8

rte_efd_createFunction · 0.85
rte_efd_updateFunction · 0.85
rte_efd_lookupFunction · 0.85
rte_efd_deleteFunction · 0.85
rte_efd_freeFunction · 0.85
print_key_infoFunction · 0.70
printfFunction · 0.50

Tested by

no test coverage detected