diff options
Diffstat (limited to 'src/util/test_container_multihashmap32.c')
-rw-r--r-- | src/util/test_container_multihashmap32.c | 96 |
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 | ||
34 | static int | 36 | static int |
35 | testMap(int i) | 37 | testMap (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 | ||
91 | int | 93 | int |
92 | main(int argc, char *argv[]) | 94 | main (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; |