summaryrefslogtreecommitdiff
path: root/src/util/test_container_multihashmap32.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/test_container_multihashmap32.c')
-rw-r--r--src/util/test_container_multihashmap32.c96
1 files changed, 49 insertions, 47 deletions
diff --git a/src/util/test_container_multihashmap32.c b/src/util/test_container_multihashmap32.c
index d61dea782..81b941d5e 100644
--- a/src/util/test_container_multihashmap32.c
+++ b/src/util/test_container_multihashmap32.c
@@ -28,11 +28,13 @@
28#include "platform.h" 28#include "platform.h"
29#include "gnunet_util_lib.h" 29#include "gnunet_util_lib.h"
30 30
31#define ABORT() { fprintf(stderr, "Error at %s:%d\n", __FILE__, __LINE__); if (m != NULL) GNUNET_CONTAINER_multihashmap32_destroy (m); return 1; } 31#define ABORT() { fprintf (stderr, "Error at %s:%d\n", __FILE__, __LINE__); \
32#define CHECK(c) { if (!(c)) ABORT (); } 32 if (m != NULL) GNUNET_CONTAINER_multihashmap32_destroy (m); \
33 return 1; }
34#define CHECK(c) { if (! (c)) ABORT (); }
33 35
34static int 36static int
35testMap(int i) 37testMap (int i)
36{ 38{
37 struct GNUNET_CONTAINER_MultiHashMap32 *m; 39 struct GNUNET_CONTAINER_MultiHashMap32 *m;
38 uint32_t k1; 40 uint32_t k1;
@@ -40,63 +42,63 @@ testMap(int i)
40 const char *ret; 42 const char *ret;
41 int j; 43 int j;
42 44
43 CHECK(NULL != (m = GNUNET_CONTAINER_multihashmap32_create(i))); 45 CHECK (NULL != (m = GNUNET_CONTAINER_multihashmap32_create (i)));
44 k1 = 0; 46 k1 = 0;
45 k2 = UINT32_MAX; 47 k2 = UINT32_MAX;
46 CHECK(GNUNET_NO == GNUNET_CONTAINER_multihashmap32_contains(m, k1)); 48 CHECK (GNUNET_NO == GNUNET_CONTAINER_multihashmap32_contains (m, k1));
47 CHECK(GNUNET_NO == GNUNET_CONTAINER_multihashmap32_contains(m, k2)); 49 CHECK (GNUNET_NO == GNUNET_CONTAINER_multihashmap32_contains (m, k2));
48 CHECK(GNUNET_NO == GNUNET_CONTAINER_multihashmap32_remove(m, k1, NULL)); 50 CHECK (GNUNET_NO == GNUNET_CONTAINER_multihashmap32_remove (m, k1, NULL));
49 CHECK(GNUNET_NO == GNUNET_CONTAINER_multihashmap32_remove(m, k2, NULL)); 51 CHECK (GNUNET_NO == GNUNET_CONTAINER_multihashmap32_remove (m, k2, NULL));
50 CHECK(NULL == GNUNET_CONTAINER_multihashmap32_get(m, k1)); 52 CHECK (NULL == GNUNET_CONTAINER_multihashmap32_get (m, k1));
51 CHECK(NULL == GNUNET_CONTAINER_multihashmap32_get(m, k2)); 53 CHECK (NULL == GNUNET_CONTAINER_multihashmap32_get (m, k2));
52 CHECK(0 == GNUNET_CONTAINER_multihashmap32_remove_all(m, k1)); 54 CHECK (0 == GNUNET_CONTAINER_multihashmap32_remove_all (m, k1));
53 CHECK(0 == GNUNET_CONTAINER_multihashmap32_size(m)); 55 CHECK (0 == GNUNET_CONTAINER_multihashmap32_size (m));
54 CHECK(0 == GNUNET_CONTAINER_multihashmap32_iterate(m, NULL, NULL)); 56 CHECK (0 == GNUNET_CONTAINER_multihashmap32_iterate (m, NULL, NULL));
55 CHECK(0 == GNUNET_CONTAINER_multihashmap32_get_multiple(m, k1, NULL, NULL)); 57 CHECK (0 == GNUNET_CONTAINER_multihashmap32_get_multiple (m, k1, NULL, NULL));
56 58
57 CHECK(GNUNET_OK == 59 CHECK (GNUNET_OK ==
58 GNUNET_CONTAINER_multihashmap32_put(m, k1, "v1", 60 GNUNET_CONTAINER_multihashmap32_put (m, k1, "v1",
59 GNUNET_CONTAINER_MULTIHASHMAPOPTION_REPLACE)); 61 GNUNET_CONTAINER_MULTIHASHMAPOPTION_REPLACE));
60 CHECK(1 == GNUNET_CONTAINER_multihashmap32_size(m)); 62 CHECK (1 == GNUNET_CONTAINER_multihashmap32_size (m));
61 ret = GNUNET_CONTAINER_multihashmap32_get(m, k1); 63 ret = GNUNET_CONTAINER_multihashmap32_get (m, k1);
62 GNUNET_assert(ret != NULL); 64 GNUNET_assert (ret != NULL);
63 CHECK(0 == strcmp("v1", ret)); 65 CHECK (0 == strcmp ("v1", ret));
64 CHECK(GNUNET_NO == 66 CHECK (GNUNET_NO ==
65 GNUNET_CONTAINER_multihashmap32_put(m, k1, "v1", 67 GNUNET_CONTAINER_multihashmap32_put (m, k1, "v1",
66 GNUNET_CONTAINER_MULTIHASHMAPOPTION_REPLACE)); 68 GNUNET_CONTAINER_MULTIHASHMAPOPTION_REPLACE));
67 CHECK(1 == GNUNET_CONTAINER_multihashmap32_size(m)); 69 CHECK (1 == GNUNET_CONTAINER_multihashmap32_size (m));
68 CHECK(GNUNET_OK == 70 CHECK (GNUNET_OK ==
69 GNUNET_CONTAINER_multihashmap32_put(m, k1, "v2", 71 GNUNET_CONTAINER_multihashmap32_put (m, k1, "v2",
70 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE)); 72 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE));
71 CHECK(GNUNET_OK == 73 CHECK (GNUNET_OK ==
72 GNUNET_CONTAINER_multihashmap32_put(m, k1, "v3", 74 GNUNET_CONTAINER_multihashmap32_put (m, k1, "v3",
73 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE));
74 CHECK(3 == GNUNET_CONTAINER_multihashmap32_size(m));
75 CHECK(GNUNET_OK == GNUNET_CONTAINER_multihashmap32_remove(m, k1, "v3"));
76 CHECK(2 == GNUNET_CONTAINER_multihashmap32_size(m));
77 CHECK(GNUNET_YES == GNUNET_CONTAINER_multihashmap32_contains(m, k1));
78 CHECK(GNUNET_NO == GNUNET_CONTAINER_multihashmap32_contains(m, k2));
79 CHECK(2 == GNUNET_CONTAINER_multihashmap32_get_multiple(m, k1, NULL, NULL));
80 CHECK(0 == GNUNET_CONTAINER_multihashmap32_get_multiple(m, k2, NULL, NULL));
81 CHECK(2 == GNUNET_CONTAINER_multihashmap32_iterate(m, NULL, NULL));
82 CHECK(2 == GNUNET_CONTAINER_multihashmap32_remove_all(m, k1));
83 for (j = 0; j < 1024; j++)
84 CHECK(GNUNET_OK ==
85 GNUNET_CONTAINER_multihashmap32_put(m, k1, "v2",
86 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE)); 75 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE));
87 GNUNET_CONTAINER_multihashmap32_destroy(m); 76 CHECK (3 == GNUNET_CONTAINER_multihashmap32_size (m));
77 CHECK (GNUNET_OK == GNUNET_CONTAINER_multihashmap32_remove (m, k1, "v3"));
78 CHECK (2 == GNUNET_CONTAINER_multihashmap32_size (m));
79 CHECK (GNUNET_YES == GNUNET_CONTAINER_multihashmap32_contains (m, k1));
80 CHECK (GNUNET_NO == GNUNET_CONTAINER_multihashmap32_contains (m, k2));
81 CHECK (2 == GNUNET_CONTAINER_multihashmap32_get_multiple (m, k1, NULL, NULL));
82 CHECK (0 == GNUNET_CONTAINER_multihashmap32_get_multiple (m, k2, NULL, NULL));
83 CHECK (2 == GNUNET_CONTAINER_multihashmap32_iterate (m, NULL, NULL));
84 CHECK (2 == GNUNET_CONTAINER_multihashmap32_remove_all (m, k1));
85 for (j = 0; j < 1024; j++)
86 CHECK (GNUNET_OK ==
87 GNUNET_CONTAINER_multihashmap32_put (m, k1, "v2",
88 GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE));
89 GNUNET_CONTAINER_multihashmap32_destroy (m);
88 return 0; 90 return 0;
89} 91}
90 92
91int 93int
92main(int argc, char *argv[]) 94main (int argc, char *argv[])
93{ 95{
94 int failureCount = 0; 96 int failureCount = 0;
95 int i; 97 int i;
96 98
97 GNUNET_log_setup("test-container-multihashmap", "WARNING", NULL); 99 GNUNET_log_setup ("test-container-multihashmap", "WARNING", NULL);
98 for (i = 1; i < 255; i++) 100 for (i = 1; i < 255; i++)
99 failureCount += testMap(i); 101 failureCount += testMap (i);
100 if (failureCount != 0) 102 if (failureCount != 0)
101 return 1; 103 return 1;
102 return 0; 104 return 0;