aboutsummaryrefslogtreecommitdiff
path: root/src/rps/test_service_rps_custommap.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rps/test_service_rps_custommap.c')
-rw-r--r--src/rps/test_service_rps_custommap.c127
1 files changed, 0 insertions, 127 deletions
diff --git a/src/rps/test_service_rps_custommap.c b/src/rps/test_service_rps_custommap.c
deleted file mode 100644
index 3d885ca6b..000000000
--- a/src/rps/test_service_rps_custommap.c
+++ /dev/null
@@ -1,127 +0,0 @@
1/*
2 This file is part of GNUnet.
3 Copyright (C)
4
5 GNUnet is free software: you can redistribute it and/or modify it
6 under the terms of the GNU Affero General Public License as published
7 by the Free Software Foundation, either version 3 of the License,
8 or (at your option) any later version.
9
10 GNUnet is distributed in the hope that it will be useful, but
11 WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Affero General Public License for more details.
14
15 You should have received a copy of the GNU Affero General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18 SPDX-License-Identifier: AGPL3.0-or-later
19 */
20/**
21 * @file rps/test_service_rps_custommap.c
22 * @brief testcase for gnunet-service-rps_peers.c
23 */
24#include <platform.h>
25#include "gnunet-service-rps_custommap.h"
26
27#define ABORT() { fprintf (stderr, "Error at %s:%d\n", __FILE__, __LINE__); \
28 if (NULL != c_m) CustomPeerMap_destroy (c_m); return 1; }
29#define CHECK(c) { if (! (c)) ABORT (); }
30
31
32static int
33check ()
34{
35 struct CustomPeerMap *c_m;
36 struct GNUNET_PeerIdentity k1;
37 struct GNUNET_PeerIdentity k2;
38 unsigned int j;
39
40 CHECK (NULL != (c_m = CustomPeerMap_create (4)));
41 memset (&k1, 0, sizeof(k1));
42 memset (&k2, 1, sizeof(k2));
43 CHECK (GNUNET_NO == CustomPeerMap_contains_peer (c_m, &k1));
44 CHECK (GNUNET_NO == CustomPeerMap_contains_peer (c_m, &k2));
45 CHECK (GNUNET_NO == CustomPeerMap_remove_peer (c_m, &k1));
46 CHECK (GNUNET_NO == CustomPeerMap_remove_peer (c_m, &k2));
47 CHECK (GNUNET_NO == CustomPeerMap_remove_peer_by_index (c_m, 0));
48 CHECK (GNUNET_NO == CustomPeerMap_remove_peer_by_index (c_m, 0));
49 CHECK (GNUNET_NO == CustomPeerMap_remove_peer_by_index (c_m, 1));
50 CHECK (GNUNET_NO == CustomPeerMap_remove_peer_by_index (c_m, 1));
51 CHECK (NULL == CustomPeerMap_get_peer_by_index (c_m, 0));
52 CHECK (NULL == CustomPeerMap_get_peer_by_index (c_m, 0));
53 CHECK (NULL == CustomPeerMap_get_peer_by_index (c_m, 1));
54 CHECK (NULL == CustomPeerMap_get_peer_by_index (c_m, 1));
55 CustomPeerMap_clear (c_m); /* See if assertions trigger */
56 CHECK (0 == CustomPeerMap_size (c_m));
57
58 CHECK (GNUNET_OK == CustomPeerMap_put (c_m, &k1));
59 CHECK (1 == CustomPeerMap_size (c_m));
60 CHECK (GNUNET_NO == CustomPeerMap_put (c_m, &k1));
61 CHECK (1 == CustomPeerMap_size (c_m));
62 CHECK (GNUNET_YES == CustomPeerMap_contains_peer (c_m, &k1));
63 CHECK (GNUNET_OK == CustomPeerMap_remove_peer (c_m, &k1));
64 CHECK (0 == CustomPeerMap_size (c_m));
65 CHECK (GNUNET_NO == CustomPeerMap_contains_peer (c_m, &k1));
66 CHECK (GNUNET_NO == CustomPeerMap_contains_peer (c_m, &k2));
67
68 CHECK (GNUNET_OK == CustomPeerMap_put (c_m, &k1));
69 CHECK (1 == CustomPeerMap_size (c_m));
70 for (j = 0; j < 16; j++)
71 {
72 CHECK (GNUNET_NO == CustomPeerMap_put (c_m, &k1));
73 }
74 CHECK (1 == CustomPeerMap_size (c_m));
75 CHECK (GNUNET_OK == CustomPeerMap_put (c_m, &k2));
76 CHECK (2 == CustomPeerMap_size (c_m));
77 for (j = 0; j < 16; j++)
78 {
79 CHECK (GNUNET_NO == CustomPeerMap_put (c_m, &k2));
80 }
81 CHECK (2 == CustomPeerMap_size (c_m));
82
83 /* iterate */
84 for (j = 0; j < CustomPeerMap_size (c_m); j++)
85 {
86 CHECK (NULL != CustomPeerMap_get_peer_by_index (c_m, j));
87 }
88 CHECK ((0 == memcmp (CustomPeerMap_get_peer_by_index (c_m, 0),
89 &k1, sizeof(k1))));
90 CHECK ((0 == memcmp (CustomPeerMap_get_peer_by_index (c_m, 1),
91 &k2, sizeof(k2))));
92 CHECK (GNUNET_OK == CustomPeerMap_remove_peer (c_m, &k1));
93 CHECK (1 == CustomPeerMap_size (c_m));
94 CHECK (GNUNET_NO == CustomPeerMap_contains_peer (c_m, &k1));
95 CHECK (GNUNET_YES == CustomPeerMap_contains_peer (c_m, &k2));
96 CHECK (NULL != CustomPeerMap_get_peer_by_index (c_m, 0));
97
98 CustomPeerMap_clear (c_m);
99 CHECK (0 == CustomPeerMap_size (c_m));
100
101 CHECK (GNUNET_OK == CustomPeerMap_put (c_m, &k1));
102 CHECK (1 == CustomPeerMap_size (c_m));
103 CHECK (GNUNET_OK == CustomPeerMap_put (c_m, &k2));
104 CHECK (2 == CustomPeerMap_size (c_m));
105 CustomPeerMap_clear (c_m);
106 CHECK (0 == CustomPeerMap_size (c_m));
107
108 CustomPeerMap_destroy (c_m);
109
110 return 0;
111}
112
113
114int
115main (int argc, char *argv[])
116{
117 (void) argc;
118 (void) argv;
119
120 GNUNET_log_setup ("test_service_rps_peers",
121 "WARNING",
122 NULL);
123 return check ();
124}
125
126
127/* end of test_service_rps_custommap.c */