MCPcopy Index your code
hub / github.com/git/git / t_alloc

Function t_alloc

t/unit-tests/u-hashmap.c:241–285  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

239}
240
241static void t_alloc(struct hashmap *map, unsigned int ignore_case)
242{
243 struct test_entry *entry, *removed;
244
245 for (int i = 1; i <= 51; i++) {
246 char *key = xstrfmt("key%d", i);
247 char *value = xstrfmt("value%d", i);
248 entry = alloc_test_entry(key, value, ignore_case);
249 cl_assert_equal_p(hashmap_put_entry(map, entry, ent), NULL);
250 free(key);
251 free(value);
252 }
253 cl_assert_equal_i(map->tablesize, 64);
254 cl_assert_equal_i(hashmap_get_size(map), 51);
255
256 entry = alloc_test_entry("key52", "value52", ignore_case);
257 cl_assert_equal_p(hashmap_put_entry(map, entry, ent), NULL);
258 cl_assert_equal_i(map->tablesize, 256);
259 cl_assert_equal_i(hashmap_get_size(map), 52);
260
261 for (int i = 1; i <= 12; i++) {
262 char *key = xstrfmt("key%d", i);
263 char *value = xstrfmt("value%d", i);
264
265 entry = alloc_test_entry(key, "", ignore_case);
266 removed = hashmap_remove_entry(map, entry, ent, key);
267 cl_assert(removed != NULL);
268 cl_assert_equal_s(value, get_value(removed));
269 free(key);
270 free(value);
271 free(entry);
272 free(removed);
273 }
274 cl_assert_equal_i(map->tablesize, 256);
275 cl_assert_equal_i(hashmap_get_size(map), 40);
276
277 entry = alloc_test_entry("key40", "", ignore_case);
278 removed = hashmap_remove_entry(map, entry, ent, "key40");
279 cl_assert(removed != NULL);
280 cl_assert_equal_s("value40", get_value(removed));
281 cl_assert_equal_i(map->tablesize, 64);
282 cl_assert_equal_i(hashmap_get_size(map), 39);
283 free(entry);
284 free(removed);
285}
286
287void test_hashmap__intern(void)
288{

Callers

nothing calls this directly

Calls 4

xstrfmtFunction · 0.85
hashmap_get_sizeFunction · 0.85
alloc_test_entryFunction · 0.70
get_valueFunction · 0.70

Tested by

no test coverage detected