diff options
author | Christian Grothoff <christian@grothoff.org> | 2018-05-09 17:33:04 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2018-05-09 17:33:04 +0200 |
commit | 8bb475af99260f1d107dbc8908268ae93960aa83 (patch) | |
tree | 1a7a1fc03424df841a6f977b137482439b09bc9f /src/namestore/test_namestore_api_lookup_private.c | |
parent | 1f80a11e90ee982bffaae4685e281f75ee1c225d (diff) | |
download | gnunet-8bb475af99260f1d107dbc8908268ae93960aa83.tar.gz gnunet-8bb475af99260f1d107dbc8908268ae93960aa83.zip |
implement new functions in libgnunetsq, clean up sqlite namestore plugin, implement flow control in namestore API and tests
Diffstat (limited to 'src/namestore/test_namestore_api_lookup_private.c')
-rw-r--r-- | src/namestore/test_namestore_api_lookup_private.c | 52 |
1 files changed, 23 insertions, 29 deletions
diff --git a/src/namestore/test_namestore_api_lookup_private.c b/src/namestore/test_namestore_api_lookup_private.c index 7866749f1..689e73a2e 100644 --- a/src/namestore/test_namestore_api_lookup_private.c +++ b/src/namestore/test_namestore_api_lookup_private.c | |||
@@ -48,7 +48,6 @@ static struct GNUNET_NAMESTORE_QueueEntry *nsqe; | |||
48 | //static const char * name = "dummy.dummy.gnunet"; | 48 | //static const char * name = "dummy.dummy.gnunet"; |
49 | static const char * name = "d"; | 49 | static const char * name = "d"; |
50 | 50 | ||
51 | static char *directory; | ||
52 | 51 | ||
53 | static void | 52 | static void |
54 | cleanup () | 53 | cleanup () |
@@ -71,11 +70,11 @@ cleanup () | |||
71 | * Re-establish the connection to the service. | 70 | * Re-establish the connection to the service. |
72 | * | 71 | * |
73 | * @param cls handle to use to re-connect. | 72 | * @param cls handle to use to re-connect. |
74 | * @param tc scheduler context | ||
75 | */ | 73 | */ |
76 | static void | 74 | static void |
77 | endbadly (void *cls) | 75 | endbadly (void *cls) |
78 | { | 76 | { |
77 | endbadly_task = NULL; | ||
79 | if (NULL != nsqe) | 78 | if (NULL != nsqe) |
80 | { | 79 | { |
81 | GNUNET_NAMESTORE_cancel (nsqe); | 80 | GNUNET_NAMESTORE_cancel (nsqe); |
@@ -109,7 +108,7 @@ lookup_it (void *cls, | |||
109 | { | 108 | { |
110 | GNUNET_break(0); | 109 | GNUNET_break(0); |
111 | GNUNET_SCHEDULER_cancel (endbadly_task); | 110 | GNUNET_SCHEDULER_cancel (endbadly_task); |
112 | endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL ); | 111 | endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL); |
113 | return; | 112 | return; |
114 | } | 113 | } |
115 | 114 | ||
@@ -118,7 +117,7 @@ lookup_it (void *cls, | |||
118 | { | 117 | { |
119 | GNUNET_break(0); | 118 | GNUNET_break(0); |
120 | GNUNET_SCHEDULER_cancel (endbadly_task); | 119 | GNUNET_SCHEDULER_cancel (endbadly_task); |
121 | endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL ); | 120 | endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL); |
122 | return; | 121 | return; |
123 | } | 122 | } |
124 | 123 | ||
@@ -126,7 +125,7 @@ lookup_it (void *cls, | |||
126 | { | 125 | { |
127 | GNUNET_break(0); | 126 | GNUNET_break(0); |
128 | GNUNET_SCHEDULER_cancel (endbadly_task); | 127 | GNUNET_SCHEDULER_cancel (endbadly_task); |
129 | endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL ); | 128 | endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL); |
130 | return; | 129 | return; |
131 | } | 130 | } |
132 | 131 | ||
@@ -134,14 +133,14 @@ lookup_it (void *cls, | |||
134 | { | 133 | { |
135 | GNUNET_break(0); | 134 | GNUNET_break(0); |
136 | GNUNET_SCHEDULER_cancel (endbadly_task); | 135 | GNUNET_SCHEDULER_cancel (endbadly_task); |
137 | endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL ); | 136 | endbadly_task = GNUNET_SCHEDULER_add_now (&endbadly, NULL); |
138 | return; | 137 | return; |
139 | } | 138 | } |
140 | 139 | ||
141 | /* Done */ | 140 | /* Done */ |
142 | GNUNET_SCHEDULER_cancel (endbadly_task); | 141 | GNUNET_SCHEDULER_cancel (endbadly_task); |
143 | endbadly_task = NULL; | 142 | endbadly_task = NULL; |
144 | GNUNET_SCHEDULER_add_now (&end, NULL ); | 143 | GNUNET_SCHEDULER_add_now (&end, NULL); |
145 | } | 144 | } |
146 | 145 | ||
147 | 146 | ||
@@ -153,7 +152,9 @@ fail_cb (void *cls) | |||
153 | 152 | ||
154 | 153 | ||
155 | static void | 154 | static void |
156 | put_cont (void *cls, int32_t success, const char *emsg) | 155 | put_cont (void *cls, |
156 | int32_t success, | ||
157 | const char *emsg) | ||
157 | { | 158 | { |
158 | const char *name = cls; | 159 | const char *name = cls; |
159 | 160 | ||
@@ -187,22 +188,11 @@ run (void *cls, | |||
187 | struct GNUNET_TESTING_Peer *peer) | 188 | struct GNUNET_TESTING_Peer *peer) |
188 | { | 189 | { |
189 | struct GNUNET_GNSRECORD_Data rd; | 190 | struct GNUNET_GNSRECORD_Data rd; |
190 | char *hostkey_file; | ||
191 | |||
192 | directory = NULL; | ||
193 | GNUNET_assert (GNUNET_OK == | ||
194 | GNUNET_CONFIGURATION_get_value_string(cfg, "PATHS", "GNUNET_TEST_HOME", &directory)); | ||
195 | GNUNET_DISK_directory_remove (directory); | ||
196 | 191 | ||
197 | endbadly_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, | 192 | endbadly_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, |
198 | &endbadly, NULL); | 193 | &endbadly, |
199 | GNUNET_asprintf (&hostkey_file, | 194 | NULL); |
200 | "zonefiles%s%s", | 195 | privkey = GNUNET_CRYPTO_ecdsa_key_create (); |
201 | DIR_SEPARATOR_STR, | ||
202 | "N0UJMP015AFUNR2BTNM3FKPBLG38913BL8IDMCO2H0A1LIB81960.zkey"); | ||
203 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Using zonekey file `%s' \n", hostkey_file); | ||
204 | privkey = GNUNET_CRYPTO_ecdsa_key_create_from_file (hostkey_file); | ||
205 | GNUNET_free (hostkey_file); | ||
206 | GNUNET_assert (privkey != NULL); | 196 | GNUNET_assert (privkey != NULL); |
207 | GNUNET_CRYPTO_ecdsa_key_get_public (privkey, &pubkey); | 197 | GNUNET_CRYPTO_ecdsa_key_get_public (privkey, &pubkey); |
208 | 198 | ||
@@ -215,8 +205,13 @@ run (void *cls, | |||
215 | 205 | ||
216 | nsh = GNUNET_NAMESTORE_connect (cfg); | 206 | nsh = GNUNET_NAMESTORE_connect (cfg); |
217 | GNUNET_break (NULL != nsh); | 207 | GNUNET_break (NULL != nsh); |
218 | nsqe = GNUNET_NAMESTORE_records_store (nsh, privkey, name, | 208 | nsqe = GNUNET_NAMESTORE_records_store (nsh, |
219 | 1, &rd, &put_cont, (void *) name); | 209 | privkey, |
210 | name, | ||
211 | 1, | ||
212 | &rd, | ||
213 | &put_cont, | ||
214 | (void *) name); | ||
220 | if (NULL == nsqe) | 215 | if (NULL == nsqe) |
221 | { | 216 | { |
222 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 217 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
@@ -237,6 +232,8 @@ main (int argc, char *argv[]) | |||
237 | GNUNET_asprintf (&cfg_name, | 232 | GNUNET_asprintf (&cfg_name, |
238 | "test_namestore_api_%s.conf", | 233 | "test_namestore_api_%s.conf", |
239 | plugin_name); | 234 | plugin_name); |
235 | GNUNET_DISK_purge_cfg_dir (cfg_name, | ||
236 | "GNUNET_TEST_HOME"); | ||
240 | res = 1; | 237 | res = 1; |
241 | if (0 != | 238 | if (0 != |
242 | GNUNET_TESTING_peer_run ("test-namestore-api-lookup-private", | 239 | GNUNET_TESTING_peer_run ("test-namestore-api-lookup-private", |
@@ -246,12 +243,9 @@ main (int argc, char *argv[]) | |||
246 | { | 243 | { |
247 | res = 1; | 244 | res = 1; |
248 | } | 245 | } |
246 | GNUNET_DISK_purge_cfg_dir (cfg_name, | ||
247 | "GNUNET_TEST_HOME"); | ||
249 | GNUNET_free (cfg_name); | 248 | GNUNET_free (cfg_name); |
250 | if (NULL != directory) | ||
251 | { | ||
252 | GNUNET_DISK_directory_remove (directory); | ||
253 | GNUNET_free (directory); | ||
254 | } | ||
255 | return res; | 249 | return res; |
256 | } | 250 | } |
257 | 251 | ||