diff options
Diffstat (limited to 'src/dht/test_dht_api.c')
-rw-r--r-- | src/dht/test_dht_api.c | 181 |
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 | ||
39 | static struct GNUNET_DHT_Handle *dht_handle; | 40 | static struct GNUNET_DHT_Handle *dht_handle; |
40 | 41 | ||
@@ -48,55 +49,55 @@ static struct GNUNET_SCHEDULER_Task *die_task; | |||
48 | 49 | ||
49 | 50 | ||
50 | static void | 51 | static void |
51 | do_shutdown(void *cls) | 52 | do_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 | ||
73 | static void | 74 | static void |
74 | end_badly(void *cls) | 75 | end_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 | ||
85 | static void | 86 | static void |
86 | test_get_iterator(void *cls, | 87 | test_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 | */ |
109 | static void | 110 | static void |
110 | test_get(void *cls) | 111 | test_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 | ||
141 | static void | 142 | static void |
142 | run(void *cls, | 143 | run (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 | ||
180 | int | 181 | int |
181 | main(int argc, | 182 | main (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 | } |