test: hashmap_put behaviour for equal keys

Check string ops hashmap_put() for keys with a different pointer but the same
value.
This commit is contained in:
Martin Pitt 2014-12-13 04:22:28 +01:00
parent b50191c23f
commit 435fc31765

View file

@ -245,6 +245,8 @@ static void test_hashmap_put(void) {
Hashmap *m = NULL;
int valid_hashmap_put;
void *val1 = (void*) "val 1";
void *val2 = (void*) "val 2";
_cleanup_free_ char* key1 = NULL;
assert_se(hashmap_ensure_allocated(&m, &string_hash_ops) >= 0);
assert_se(m);
@ -252,7 +254,10 @@ static void test_hashmap_put(void) {
valid_hashmap_put = hashmap_put(m, "key 1", val1);
assert_se(valid_hashmap_put == 1);
assert_se(hashmap_put(m, "key 1", val1) == 0);
assert_se(hashmap_put(m, "key 1", (void *)"val 2") == -EEXIST);
assert_se(hashmap_put(m, "key 1", val2) == -EEXIST);
key1 = strdup("key 1");
assert_se(hashmap_put(m, key1, val1) == 0);
assert_se(hashmap_put(m, key1, val2) == -EEXIST);
hashmap_free(m);
}