aboutsummaryrefslogtreecommitdiff
path: root/src/util/test_container_multihashmap.c
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2013-08-12 14:50:20 +0000
committerFlorian Dold <florian.dold@gmail.com>2013-08-12 14:50:20 +0000
commitfc8f7f91c13c6d6697c729c3f2d6b72a8fec1369 (patch)
treefcd8f89fad8710adae3edf235be46edc0854d6e8 /src/util/test_container_multihashmap.c
parent860c615d8efd0ca2cf8ba24a527b94ae6fc96918 (diff)
downloadgnunet-fc8f7f91c13c6d6697c729c3f2d6b72a8fec1369.tar.gz
gnunet-fc8f7f91c13c6d6697c729c3f2d6b72a8fec1369.zip
- test for external iterator
- const added to result parameter of 'next'
Diffstat (limited to 'src/util/test_container_multihashmap.c')
-rw-r--r--src/util/test_container_multihashmap.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/util/test_container_multihashmap.c b/src/util/test_container_multihashmap.c
index ff50df117..a0d29c606 100644
--- a/src/util/test_container_multihashmap.c
+++ b/src/util/test_container_multihashmap.c
@@ -37,6 +37,8 @@ testMap (int i)
37 struct GNUNET_CONTAINER_MultiHashMap *m; 37 struct GNUNET_CONTAINER_MultiHashMap *m;
38 struct GNUNET_HashCode k1; 38 struct GNUNET_HashCode k1;
39 struct GNUNET_HashCode k2; 39 struct GNUNET_HashCode k2;
40 struct GNUNET_CONTAINER_MultiHashMapIterator *iter;
41 struct GNUNET_HashCode key_ret;
40 const char *ret; 42 const char *ret;
41 int j; 43 int j;
42 44
@@ -79,11 +81,23 @@ testMap (int i)
79 CHECK (2 == GNUNET_CONTAINER_multihashmap_get_multiple (m, &k1, NULL, NULL)); 81 CHECK (2 == GNUNET_CONTAINER_multihashmap_get_multiple (m, &k1, NULL, NULL));
80 CHECK (0 == GNUNET_CONTAINER_multihashmap_get_multiple (m, &k2, NULL, NULL)); 82 CHECK (0 == GNUNET_CONTAINER_multihashmap_get_multiple (m, &k2, NULL, NULL));
81 CHECK (2 == GNUNET_CONTAINER_multihashmap_iterate (m, NULL, NULL)); 83 CHECK (2 == GNUNET_CONTAINER_multihashmap_iterate (m, NULL, NULL));
84 iter = GNUNET_CONTAINER_multihashmap_iterator_create (m);
85 CHECK (GNUNET_YES == GNUNET_CONTAINER_multihashmap_iterator_next (iter, &key_ret, (const void **)&ret));
86 CHECK (0 == memcmp (&key_ret, &k1, sizeof (key_ret)));
87 CHECK (GNUNET_YES == GNUNET_CONTAINER_multihashmap_iterator_next (iter, &key_ret, (const void **)&ret));
88 CHECK (0 == memcmp (&key_ret, &k1, sizeof (key_ret)));
89 CHECK (GNUNET_NO == GNUNET_CONTAINER_multihashmap_iterator_next (iter, NULL, NULL));
90
82 CHECK (2 == GNUNET_CONTAINER_multihashmap_remove_all (m, &k1)); 91 CHECK (2 == GNUNET_CONTAINER_multihashmap_remove_all (m, &k1));
83 for (j = 0; j < 1024; j++) 92 for (j = 0; j < 1024; j++)
84 CHECK (GNUNET_OK == 93 CHECK (GNUNET_OK ==
85 GNUNET_CONTAINER_multihashmap_put (m, &k1, "v2", 94 GNUNET_CONTAINER_multihashmap_put (m, &k1, "v2",
86 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE)); 95 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE));
96 iter = GNUNET_CONTAINER_multihashmap_iterator_create (m);
97 for (j = 0; j < GNUNET_CONTAINER_multihashmap_size (m); j++)
98 CHECK (GNUNET_YES == GNUNET_CONTAINER_multihashmap_iterator_next (iter, NULL, NULL));
99 CHECK (GNUNET_NO == GNUNET_CONTAINER_multihashmap_iterator_next (iter, NULL, NULL));
100
87 GNUNET_CONTAINER_multihashmap_destroy (m); 101 GNUNET_CONTAINER_multihashmap_destroy (m);
88 return 0; 102 return 0;
89} 103}