From 435fc3176520a58f1c20ccb983c9fb40b30a1471 Mon Sep 17 00:00:00 2001 From: Martin Pitt Date: Sat, 13 Dec 2014 04:22:28 +0100 Subject: test: hashmap_put behaviour for equal keys Check string ops hashmap_put() for keys with a different pointer but the same value. --- src/test/test-hashmap-plain.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/test/test-hashmap-plain.c b/src/test/test-hashmap-plain.c index 6f0910aae7..84b508f874 100644 --- a/src/test/test-hashmap-plain.c +++ b/src/test/test-hashmap-plain.c @@ -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); } -- cgit v1.2.3-54-g00ecf