aboutsummaryrefslogtreecommitdiff
path: root/src/rps/test_service_rps_view.c
diff options
context:
space:
mode:
authorJulius Bünger <buenger@mytum.de>2018-10-01 20:05:40 +0200
committerJulius Bünger <buenger@mytum.de>2018-10-01 23:15:31 +0200
commit3823c7a71aa1b16df6c34ef3def45875289a6b3d (patch)
tree14fa9b007663823983fad8194202e8441a4588c0 /src/rps/test_service_rps_view.c
parentb3aad5bef2e78487251ef7fc766a510f9fc731c9 (diff)
downloadgnunet-3823c7a71aa1b16df6c34ef3def45875289a6b3d.tar.gz
gnunet-3823c7a71aa1b16df6c34ef3def45875289a6b3d.zip
Restructure implementation of view (towards subsampling)
Diffstat (limited to 'src/rps/test_service_rps_view.c')
-rw-r--r--src/rps/test_service_rps_view.c141
1 files changed, 71 insertions, 70 deletions
diff --git a/src/rps/test_service_rps_view.c b/src/rps/test_service_rps_view.c
index 16cf4b832..7418a16fc 100644
--- a/src/rps/test_service_rps_view.c
+++ b/src/rps/test_service_rps_view.c
@@ -22,114 +22,115 @@
22#include <platform.h> 22#include <platform.h>
23#include "gnunet-service-rps_view.h" 23#include "gnunet-service-rps_view.h"
24 24
25#define ABORT() { fprintf(stderr, "Error at %s:%d\n", __FILE__, __LINE__); View_destroy(); return 1; } 25#define ABORT() { fprintf(stderr, "Error at %s:%d\n", __FILE__, __LINE__); View_destroy(view); return 1; }
26#define CHECK(c) { if (! (c)) ABORT(); } 26#define CHECK(c) { if (! (c)) ABORT(); }
27 27
28 28
29static int 29static int
30check () 30check ()
31{ 31{
32 struct View *view;
32 struct GNUNET_PeerIdentity k1; 33 struct GNUNET_PeerIdentity k1;
33 struct GNUNET_PeerIdentity k2; 34 struct GNUNET_PeerIdentity k2;
34 const struct GNUNET_PeerIdentity *array; 35 const struct GNUNET_PeerIdentity *array;
35 int j; 36 unsigned int j;
36 37
37 View_create (3); 38 view = View_create (3);
38 memset (&k1, 0, sizeof (k1)); 39 memset (&k1, 0, sizeof (k1));
39 memset (&k2, 1, sizeof (k2)); 40 memset (&k2, 1, sizeof (k2));
40 CHECK (GNUNET_NO == View_contains_peer (&k1)); 41 CHECK (GNUNET_NO == View_contains_peer (view, &k1));
41 CHECK (GNUNET_NO == View_contains_peer (&k2)); 42 CHECK (GNUNET_NO == View_contains_peer (view, &k2));
42 CHECK (GNUNET_NO == View_remove_peer (&k1)); 43 CHECK (GNUNET_NO == View_remove_peer (view, &k1));
43 CHECK (GNUNET_NO == View_remove_peer (&k2)); 44 CHECK (GNUNET_NO == View_remove_peer (view, &k2));
44 CHECK (NULL == View_get_peer_by_index (0)); 45 CHECK (NULL == View_get_peer_by_index (view, 0));
45 CHECK (NULL == View_get_peer_by_index (1)); 46 CHECK (NULL == View_get_peer_by_index (view, 1));
46 View_clear (); /* See if assertions trigger */ 47 View_clear (view); /* See if assertions trigger */
47 CHECK (0 == View_size ()); 48 CHECK (0 == View_size (view));
48 49
49 CHECK (GNUNET_OK == View_put (&k1)); 50 CHECK (GNUNET_OK == View_put (view, &k1));
50 CHECK (1 == View_size ()); 51 CHECK (1 == View_size (view));
51 CHECK (GNUNET_NO == View_put (&k1)); 52 CHECK (GNUNET_NO == View_put (view, &k1));
52 CHECK (1 == View_size ()); 53 CHECK (1 == View_size (view));
53 CHECK (GNUNET_YES == View_contains_peer (&k1)); 54 CHECK (GNUNET_YES == View_contains_peer (view, &k1));
54 CHECK (GNUNET_OK == View_remove_peer (&k1)); 55 CHECK (GNUNET_OK == View_remove_peer (view, &k1));
55 CHECK (0 == View_size ()); 56 CHECK (0 == View_size (view));
56 CHECK (GNUNET_NO == View_contains_peer (&k1)); 57 CHECK (GNUNET_NO == View_contains_peer (view, &k1));
57 CHECK (GNUNET_NO == View_contains_peer (&k2)); 58 CHECK (GNUNET_NO == View_contains_peer (view, &k2));
58 59
59 CHECK (GNUNET_OK == View_put (&k1)); 60 CHECK (GNUNET_OK == View_put (view, &k1));
60 CHECK (1 == View_size ()); 61 CHECK (1 == View_size (view));
61 for (j = 0; j < 16; j++) 62 for (j = 0; j < 16; j++)
62 { 63 {
63 CHECK (GNUNET_NO == View_put (&k1)); 64 CHECK (GNUNET_NO == View_put (view, &k1));
64 } 65 }
65 CHECK (1 == View_size ()); 66 CHECK (1 == View_size (view));
66 CHECK (GNUNET_OK == View_put (&k2)); 67 CHECK (GNUNET_OK == View_put (view, &k2));
67 CHECK (2 == View_size ()); 68 CHECK (2 == View_size (view));
68 for (j = 0; j < 16; j++) 69 for (j = 0; j < 16; j++)
69 { 70 {
70 CHECK (GNUNET_NO == View_put (&k2)); 71 CHECK (GNUNET_NO == View_put (view, &k2));
71 } 72 }
72 CHECK (2 == View_size ()); 73 CHECK (2 == View_size (view));
73 74
74 /* iterate */ 75 /* iterate */
75 for (j = 0; j < View_size (); j++) 76 for (j = 0; j < View_size (view); j++)
76 { 77 {
77 CHECK (NULL != View_get_peer_by_index (j)); 78 CHECK (NULL != View_get_peer_by_index (view, j));
78 } 79 }
79 CHECK ((0 == memcmp (View_get_peer_by_index (0), 80 CHECK ((0 == memcmp (View_get_peer_by_index (view, 0),
80 &k1, sizeof (k1)))); 81 &k1, sizeof (k1))));
81 CHECK ((0 == memcmp (View_get_peer_by_index (1), 82 CHECK ((0 == memcmp (View_get_peer_by_index (view, 1),
82 &k2, sizeof (k2)))); 83 &k2, sizeof (k2))));
83 CHECK (GNUNET_OK == View_remove_peer (&k1)); 84 CHECK (GNUNET_OK == View_remove_peer (view, &k1));
84 CHECK (1 == View_size ()); 85 CHECK (1 == View_size (view));
85 CHECK (GNUNET_NO == View_contains_peer (&k1)); 86 CHECK (GNUNET_NO == View_contains_peer (view, &k1));
86 CHECK (GNUNET_YES == View_contains_peer (&k2)); 87 CHECK (GNUNET_YES == View_contains_peer (view, &k2));
87 CHECK (NULL != View_get_peer_by_index (0)); 88 CHECK (NULL != View_get_peer_by_index (view, 0));
88 CHECK (NULL == View_get_peer_by_index (1)); 89 CHECK (NULL == View_get_peer_by_index (view, 1));
89 90
90 View_clear (); 91 View_clear (view);
91 CHECK (0 == View_size ()); 92 CHECK (0 == View_size (view));
92 93
93 CHECK (GNUNET_OK == View_put (&k1)); 94 CHECK (GNUNET_OK == View_put (view, &k1));
94 CHECK (1 == View_size ()); 95 CHECK (1 == View_size (view));
95 CHECK (GNUNET_YES == View_contains_peer (&k1)); 96 CHECK (GNUNET_YES == View_contains_peer (view, &k1));
96 CHECK (GNUNET_OK == View_put (&k2)); 97 CHECK (GNUNET_OK == View_put (view, &k2));
97 CHECK (2 == View_size ()); 98 CHECK (2 == View_size (view));
98 CHECK (GNUNET_YES == View_contains_peer (&k2)); 99 CHECK (GNUNET_YES == View_contains_peer (view, &k2));
99 array = View_get_as_array (); 100 array = View_get_as_array (view);
100 CHECK (0 == memcmp (&array[0], &k1, sizeof (k1))); 101 CHECK (0 == memcmp (&array[0], &k1, sizeof (k1)));
101 CHECK (0 == memcmp (&array[1], &k2, sizeof (k2))); 102 CHECK (0 == memcmp (&array[1], &k2, sizeof (k2)));
102 View_clear (); 103 View_clear (view);
103 CHECK (0 == View_size ()); 104 CHECK (0 == View_size (view));
104 105
105 /*View_change_len () */ 106 /*View_change_len () */
106 CHECK (GNUNET_OK == View_put (&k1)); 107 CHECK (GNUNET_OK == View_put (view, &k1));
107 CHECK (GNUNET_OK == View_put (&k2)); 108 CHECK (GNUNET_OK == View_put (view, &k2));
108 CHECK (2 == View_size ()); 109 CHECK (2 == View_size (view));
109 View_change_len (4); 110 View_change_len (view, 4);
110 CHECK (2 == View_size ()); 111 CHECK (2 == View_size (view));
111 CHECK (GNUNET_YES == View_contains_peer (&k1)); 112 CHECK (GNUNET_YES == View_contains_peer (view, &k1));
112 CHECK (GNUNET_YES == View_contains_peer (&k2)); 113 CHECK (GNUNET_YES == View_contains_peer (view, &k2));
113 array = View_get_as_array (); 114 array = View_get_as_array (view);
114 CHECK (0 == memcmp (&array[0], &k1, sizeof (k1))); 115 CHECK (0 == memcmp (&array[0], &k1, sizeof (k1)));
115 CHECK (0 == memcmp (&array[1], &k2, sizeof (k2))); 116 CHECK (0 == memcmp (&array[1], &k2, sizeof (k2)));
116 View_change_len (1); 117 View_change_len (view, 1);
117 CHECK (1 == View_size ()); 118 CHECK (1 == View_size (view));
118 CHECK (GNUNET_YES == View_contains_peer (&k1)); 119 CHECK (GNUNET_YES == View_contains_peer (view, &k1));
119 CHECK (GNUNET_NO == View_contains_peer (&k2)); 120 CHECK (GNUNET_NO == View_contains_peer (view, &k2));
120 array = View_get_as_array (); 121 array = View_get_as_array (view);
121 CHECK (0 == memcmp (&array[0], &k1, sizeof (k1))); 122 CHECK (0 == memcmp (&array[0], &k1, sizeof (k1)));
122 View_clear (); 123 View_clear (view);
123 CHECK (0 == View_size ()); 124 CHECK (0 == View_size (view));
124 125
125 View_destroy (); 126 View_destroy (view);
126 127
127 return 0; 128 return 0;
128} 129}
129 130
130 131
131int 132int
132main (int argc, char *argv[]) 133main ()
133{ 134{
134 GNUNET_log_setup ("test_service_rps_peers", 135 GNUNET_log_setup ("test_service_rps_peers",
135 "WARNING", 136 "WARNING",