diff options
author | Florian Dold <florian.dold@gmail.com> | 2013-08-12 14:50:20 +0000 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2013-08-12 14:50:20 +0000 |
commit | fc8f7f91c13c6d6697c729c3f2d6b72a8fec1369 (patch) | |
tree | fcd8f89fad8710adae3edf235be46edc0854d6e8 /src/util/test_container_multihashmap.c | |
parent | 860c615d8efd0ca2cf8ba24a527b94ae6fc96918 (diff) | |
download | gnunet-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.c | 14 |
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 | } |