summaryrefslogtreecommitdiff
path: root/src/dht/test_dht_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dht/test_dht_api.c')
-rw-r--r--src/dht/test_dht_api.c181
1 files changed, 91 insertions, 90 deletions
diff --git a/src/dht/test_dht_api.c b/src/dht/test_dht_api.c
index f4a337ea8..a62ee9668 100644
--- a/src/dht/test_dht_api.c
+++ b/src/dht/test_dht_api.c
@@ -34,7 +34,8 @@
34/** 34/**
35 * How long until we really give up on a particular testcase portion? 35 * How long until we really give up on a particular testcase portion?
36 */ 36 */
37#define TOTAL_TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 60) 37#define TOTAL_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, \
38 60)
38 39
39static struct GNUNET_DHT_Handle *dht_handle; 40static struct GNUNET_DHT_Handle *dht_handle;
40 41
@@ -48,55 +49,55 @@ static struct GNUNET_SCHEDULER_Task *die_task;
48 49
49 50
50static void 51static void
51do_shutdown(void *cls) 52do_shutdown (void *cls)
52{ 53{
53 if (NULL != die_task) 54 if (NULL != die_task)
54 { 55 {
55 GNUNET_SCHEDULER_cancel(die_task); 56 GNUNET_SCHEDULER_cancel (die_task);
56 die_task = NULL; 57 die_task = NULL;
57 } 58 }
58 if (NULL != put_handle) 59 if (NULL != put_handle)
59 { 60 {
60 GNUNET_DHT_put_cancel(put_handle); 61 GNUNET_DHT_put_cancel (put_handle);
61 put_handle = NULL; 62 put_handle = NULL;
62 } 63 }
63 if (NULL != get_handle) 64 if (NULL != get_handle)
64 { 65 {
65 GNUNET_DHT_get_stop(get_handle); 66 GNUNET_DHT_get_stop (get_handle);
66 get_handle = NULL; 67 get_handle = NULL;
67 } 68 }
68 GNUNET_DHT_disconnect(dht_handle); 69 GNUNET_DHT_disconnect (dht_handle);
69 dht_handle = NULL; 70 dht_handle = NULL;
70} 71}
71 72
72 73
73static void 74static void
74end_badly(void *cls) 75end_badly (void *cls)
75{ 76{
76 die_task = NULL; 77 die_task = NULL;
77 fprintf(stderr, 78 fprintf (stderr,
78 "%s", 79 "%s",
79 "Ending on an unhappy note.\n"); 80 "Ending on an unhappy note.\n");
80 GNUNET_SCHEDULER_shutdown(); 81 GNUNET_SCHEDULER_shutdown ();
81 ok = 1; 82 ok = 1;
82} 83}
83 84
84 85
85static void 86static void
86test_get_iterator(void *cls, 87test_get_iterator (void *cls,
87 struct GNUNET_TIME_Absolute exp, 88 struct GNUNET_TIME_Absolute exp,
88 const struct GNUNET_HashCode *key, 89 const struct GNUNET_HashCode *key,
89 const struct GNUNET_PeerIdentity *get_path, 90 const struct GNUNET_PeerIdentity *get_path,
90 unsigned int get_path_length, 91 unsigned int get_path_length,
91 const struct GNUNET_PeerIdentity *put_path, 92 const struct GNUNET_PeerIdentity *put_path,
92 unsigned int put_path_length, 93 unsigned int put_path_length,
93 enum GNUNET_BLOCK_Type type, 94 enum GNUNET_BLOCK_Type type,
94 size_t size, 95 size_t size,
95 const void *data) 96 const void *data)
96{ 97{
97 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, 98 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
98 "test_get_iterator called (we got a result), stopping get request!\n"); 99 "test_get_iterator called (we got a result), stopping get request!\n");
99 GNUNET_SCHEDULER_shutdown(); 100 GNUNET_SCHEDULER_shutdown ();
100 ok = 0; 101 ok = 0;
101} 102}
102 103
@@ -107,83 +108,83 @@ test_get_iterator(void *cls,
107 * @param cls closure 108 * @param cls closure
108 */ 109 */
109static void 110static void
110test_get(void *cls) 111test_get (void *cls)
111{ 112{
112 struct GNUNET_HashCode hash; 113 struct GNUNET_HashCode hash;
113 114
114 put_handle = NULL; 115 put_handle = NULL;
115 memset(&hash, 116 memset (&hash,
116 42, 117 42,
117 sizeof(struct GNUNET_HashCode)); 118 sizeof(struct GNUNET_HashCode));
118 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, 119 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
119 "Called test_get!\n"); 120 "Called test_get!\n");
120 GNUNET_assert(dht_handle != NULL); 121 GNUNET_assert (dht_handle != NULL);
121 get_handle = GNUNET_DHT_get_start(dht_handle, 122 get_handle = GNUNET_DHT_get_start (dht_handle,
122 GNUNET_BLOCK_TYPE_TEST, 123 GNUNET_BLOCK_TYPE_TEST,
123 &hash, 124 &hash,
124 1, 125 1,
125 GNUNET_DHT_RO_NONE, 126 GNUNET_DHT_RO_NONE,
126 NULL, 127 NULL,
127 0, 128 0,
128 &test_get_iterator, 129 &test_get_iterator,
129 NULL); 130 NULL);
130 131
131 if (NULL == get_handle) 132 if (NULL == get_handle)
132 { 133 {
133 GNUNET_break(0); 134 GNUNET_break (0);
134 ok = 1; 135 ok = 1;
135 GNUNET_SCHEDULER_shutdown(); 136 GNUNET_SCHEDULER_shutdown ();
136 return; 137 return;
137 } 138 }
138} 139}
139 140
140 141
141static void 142static void
142run(void *cls, 143run (void *cls,
143 const struct GNUNET_CONFIGURATION_Handle *cfg, 144 const struct GNUNET_CONFIGURATION_Handle *cfg,
144 struct GNUNET_TESTING_Peer *peer) 145 struct GNUNET_TESTING_Peer *peer)
145{ 146{
146 struct GNUNET_HashCode hash; 147 struct GNUNET_HashCode hash;
147 char *data; 148 char *data;
148 size_t data_size = 42; 149 size_t data_size = 42;
149 150
150 GNUNET_assert(ok == 1); 151 GNUNET_assert (ok == 1);
151 GNUNET_SCHEDULER_add_shutdown(&do_shutdown, 152 GNUNET_SCHEDULER_add_shutdown (&do_shutdown,
152 NULL); 153 NULL);
153 die_task = GNUNET_SCHEDULER_add_delayed(TOTAL_TIMEOUT, 154 die_task = GNUNET_SCHEDULER_add_delayed (TOTAL_TIMEOUT,
154 &end_badly, 155 &end_badly,
155 NULL); 156 NULL);
156 memset(&hash, 157 memset (&hash,
157 42, 158 42,
158 sizeof(struct GNUNET_HashCode)); 159 sizeof(struct GNUNET_HashCode));
159 data = GNUNET_malloc(data_size); 160 data = GNUNET_malloc (data_size);
160 memset(data, 43, data_size); 161 memset (data, 43, data_size);
161 GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, 162 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
162 "Called test_put!\n"); 163 "Called test_put!\n");
163 dht_handle = GNUNET_DHT_connect(cfg, 164 dht_handle = GNUNET_DHT_connect (cfg,
164 100); 165 100);
165 GNUNET_assert(NULL != dht_handle); 166 GNUNET_assert (NULL != dht_handle);
166 put_handle = GNUNET_DHT_put(dht_handle, 167 put_handle = GNUNET_DHT_put (dht_handle,
167 &hash, 168 &hash,
168 1, 169 1,
169 GNUNET_DHT_RO_NONE, 170 GNUNET_DHT_RO_NONE,
170 GNUNET_BLOCK_TYPE_TEST, 171 GNUNET_BLOCK_TYPE_TEST,
171 data_size, 172 data_size,
172 data, 173 data,
173 GNUNET_TIME_relative_to_absolute(TOTAL_TIMEOUT), 174 GNUNET_TIME_relative_to_absolute (TOTAL_TIMEOUT),
174 &test_get, 175 &test_get,
175 NULL); 176 NULL);
176 GNUNET_free(data); 177 GNUNET_free (data);
177} 178}
178 179
179 180
180int 181int
181main(int argc, 182main (int argc,
182 char *argv[]) 183 char *argv[])
183{ 184{
184 if (0 != GNUNET_TESTING_peer_run("test-dht-api", 185 if (0 != GNUNET_TESTING_peer_run ("test-dht-api",
185 "test_dht_api_data.conf", 186 "test_dht_api_data.conf",
186 &run, NULL)) 187 &run, NULL))
187 return 1; 188 return 1;
188 return ok; 189 return ok;
189} 190}