diff options
Diffstat (limited to 'src/ats')
-rw-r--r-- | src/ats/Makefile.am | 10 | ||||
-rw-r--r-- | src/ats/test_ats_api_bandwidth_consumption.c | 78 | ||||
-rw-r--r-- | src/ats/test_ats_api_reset_backoff.c | 70 | ||||
-rw-r--r-- | src/ats/test_ats_api_scheduling.c | 65 | ||||
-rw-r--r-- | src/ats/test_ats_api_scheduling_add_address.c | 66 | ||||
-rw-r--r-- | src/ats/test_ats_api_scheduling_destroy_address.c | 69 | ||||
-rw-r--r-- | src/ats/test_ats_api_scheduling_destroy_session.c | 69 |
7 files changed, 99 insertions, 328 deletions
diff --git a/src/ats/Makefile.am b/src/ats/Makefile.am index 889650bca..06d4f1dfe 100644 --- a/src/ats/Makefile.am +++ b/src/ats/Makefile.am | |||
@@ -54,10 +54,10 @@ gnunet_service_ats_LDADD = \ | |||
54 | $(GN_LIBINTL) | 54 | $(GN_LIBINTL) |
55 | gnunet_service_ats_DEPENDENCIES = \ | 55 | gnunet_service_ats_DEPENDENCIES = \ |
56 | libgnunetats.la | 56 | libgnunetats.la |
57 | 57 | ||
58 | gnunet_ats_SOURCES = \ | 58 | gnunet_ats_SOURCES = \ |
59 | gnunet-ats.c gnunet-service-ats.h | 59 | gnunet-ats.c gnunet-service-ats.h |
60 | gnunet_ats_LDADD = \ | 60 | gnunet_ats_LDADD = \ |
61 | $(top_builddir)/src/util/libgnunetutil.la \ | 61 | $(top_builddir)/src/util/libgnunetutil.la \ |
62 | $(top_builddir)/src/ats/libgnunetats.la \ | 62 | $(top_builddir)/src/ats/libgnunetats.la \ |
63 | $(GN_LIBINTL) | 63 | $(GN_LIBINTL) |
@@ -111,30 +111,35 @@ test_ats_api_scheduling_SOURCES = \ | |||
111 | test_ats_api_scheduling.c | 111 | test_ats_api_scheduling.c |
112 | test_ats_api_scheduling_LDADD = \ | 112 | test_ats_api_scheduling_LDADD = \ |
113 | $(top_builddir)/src/util/libgnunetutil.la \ | 113 | $(top_builddir)/src/util/libgnunetutil.la \ |
114 | $(top_builddir)/src/testing/libgnunettesting.la \ | ||
114 | $(top_builddir)/src/ats/libgnunetats.la | 115 | $(top_builddir)/src/ats/libgnunetats.la |
115 | 116 | ||
116 | test_ats_api_reset_backoff_SOURCES = \ | 117 | test_ats_api_reset_backoff_SOURCES = \ |
117 | test_ats_api_reset_backoff.c | 118 | test_ats_api_reset_backoff.c |
118 | test_ats_api_reset_backoff_LDADD = \ | 119 | test_ats_api_reset_backoff_LDADD = \ |
119 | $(top_builddir)/src/util/libgnunetutil.la \ | 120 | $(top_builddir)/src/util/libgnunetutil.la \ |
121 | $(top_builddir)/src/testing/libgnunettesting.la \ | ||
120 | $(top_builddir)/src/ats/libgnunetats.la | 122 | $(top_builddir)/src/ats/libgnunetats.la |
121 | 123 | ||
122 | test_ats_api_scheduling_add_address_SOURCES = \ | 124 | test_ats_api_scheduling_add_address_SOURCES = \ |
123 | test_ats_api_scheduling_add_address.c | 125 | test_ats_api_scheduling_add_address.c |
124 | test_ats_api_scheduling_add_address_LDADD = \ | 126 | test_ats_api_scheduling_add_address_LDADD = \ |
125 | $(top_builddir)/src/util/libgnunetutil.la \ | 127 | $(top_builddir)/src/util/libgnunetutil.la \ |
128 | $(top_builddir)/src/testing/libgnunettesting.la \ | ||
126 | $(top_builddir)/src/ats/libgnunetats.la | 129 | $(top_builddir)/src/ats/libgnunetats.la |
127 | 130 | ||
128 | test_ats_api_scheduling_destroy_address_SOURCES = \ | 131 | test_ats_api_scheduling_destroy_address_SOURCES = \ |
129 | test_ats_api_scheduling_destroy_address.c | 132 | test_ats_api_scheduling_destroy_address.c |
130 | test_ats_api_scheduling_destroy_address_LDADD = \ | 133 | test_ats_api_scheduling_destroy_address_LDADD = \ |
131 | $(top_builddir)/src/util/libgnunetutil.la \ | 134 | $(top_builddir)/src/util/libgnunetutil.la \ |
135 | $(top_builddir)/src/testing/libgnunettesting.la \ | ||
132 | $(top_builddir)/src/ats/libgnunetats.la | 136 | $(top_builddir)/src/ats/libgnunetats.la |
133 | 137 | ||
134 | test_ats_api_scheduling_destroy_session_SOURCES = \ | 138 | test_ats_api_scheduling_destroy_session_SOURCES = \ |
135 | test_ats_api_scheduling_destroy_session.c | 139 | test_ats_api_scheduling_destroy_session.c |
136 | test_ats_api_scheduling_destroy_session_LDADD = \ | 140 | test_ats_api_scheduling_destroy_session_LDADD = \ |
137 | $(top_builddir)/src/util/libgnunetutil.la \ | 141 | $(top_builddir)/src/util/libgnunetutil.la \ |
142 | $(top_builddir)/src/testing/libgnunettesting.la \ | ||
138 | $(top_builddir)/src/ats/libgnunetats.la | 143 | $(top_builddir)/src/ats/libgnunetats.la |
139 | 144 | ||
140 | #test_ats_api_scheduling_get_type_SOURCES = \ | 145 | #test_ats_api_scheduling_get_type_SOURCES = \ |
@@ -147,6 +152,7 @@ test_ats_api_scheduling_destroy_session_LDADD = \ | |||
147 | # test_ats_api_bandwidth_consumption.c | 152 | # test_ats_api_bandwidth_consumption.c |
148 | #test_ats_api_bandwidth_consumption_LDADD = \ | 153 | #test_ats_api_bandwidth_consumption_LDADD = \ |
149 | # $(top_builddir)/src/util/libgnunetutil.la \ | 154 | # $(top_builddir)/src/util/libgnunetutil.la \ |
155 | # $(top_builddir)/src/testing/libgnunettesting.la \ | ||
150 | # $(top_builddir)/src/ats/libgnunetats.la | 156 | # $(top_builddir)/src/ats/libgnunetats.la |
151 | 157 | ||
152 | #test_ats_api_update_address_SOURCES = \ | 158 | #test_ats_api_update_address_SOURCES = \ |
diff --git a/src/ats/test_ats_api_bandwidth_consumption.c b/src/ats/test_ats_api_bandwidth_consumption.c index 01321e147..5b1b2df45 100644 --- a/src/ats/test_ats_api_bandwidth_consumption.c +++ b/src/ats/test_ats_api_bandwidth_consumption.c | |||
@@ -26,6 +26,7 @@ | |||
26 | */ | 26 | */ |
27 | #include "platform.h" | 27 | #include "platform.h" |
28 | #include "gnunet_ats_service.h" | 28 | #include "gnunet_ats_service.h" |
29 | #include "gnunet_testing_lib-new.h" | ||
29 | #include "ats.h" | 30 | #include "ats.h" |
30 | 31 | ||
31 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) | 32 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) |
@@ -40,8 +41,6 @@ static struct GNUNET_ATS_PerformanceHandle *atp; | |||
40 | 41 | ||
41 | struct GNUNET_ATS_ReservationContext *sh; | 42 | struct GNUNET_ATS_ReservationContext *sh; |
42 | 43 | ||
43 | static struct GNUNET_OS_Process *arm_proc; | ||
44 | |||
45 | static struct PeerContext *p; | 44 | static struct PeerContext *p; |
46 | 45 | ||
47 | static uint32_t bw_in; | 46 | static uint32_t bw_in; |
@@ -53,12 +52,15 @@ static int ret; | |||
53 | struct Address | 52 | struct Address |
54 | { | 53 | { |
55 | char *plugin; | 54 | char *plugin; |
55 | |||
56 | size_t plugin_len; | 56 | size_t plugin_len; |
57 | 57 | ||
58 | void *addr; | 58 | void *addr; |
59 | |||
59 | size_t addr_len; | 60 | size_t addr_len; |
60 | 61 | ||
61 | struct GNUNET_ATS_Information *ats; | 62 | struct GNUNET_ATS_Information *ats; |
63 | |||
62 | int ats_count; | 64 | int ats_count; |
63 | 65 | ||
64 | void *session; | 66 | void *session; |
@@ -73,41 +75,23 @@ struct PeerContext | |||
73 | 75 | ||
74 | 76 | ||
75 | static void | 77 | static void |
76 | stop_arm () | ||
77 | { | ||
78 | if (0 != GNUNET_OS_process_kill (arm_proc, SIGTERM)) | ||
79 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); | ||
80 | GNUNET_OS_process_wait (arm_proc); | ||
81 | GNUNET_OS_process_destroy (arm_proc); | ||
82 | arm_proc = NULL; | ||
83 | } | ||
84 | |||
85 | |||
86 | static void | ||
87 | end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 78 | end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
88 | { | 79 | { |
89 | die_task = GNUNET_SCHEDULER_NO_TASK; | 80 | die_task = GNUNET_SCHEDULER_NO_TASK; |
90 | |||
91 | if (consume_task != GNUNET_SCHEDULER_NO_TASK) | 81 | if (consume_task != GNUNET_SCHEDULER_NO_TASK) |
92 | { | 82 | { |
93 | GNUNET_SCHEDULER_cancel (consume_task); | 83 | GNUNET_SCHEDULER_cancel (consume_task); |
94 | consume_task = GNUNET_SCHEDULER_NO_TASK; | 84 | consume_task = GNUNET_SCHEDULER_NO_TASK; |
95 | } | 85 | } |
96 | |||
97 | if (sh != NULL) | 86 | if (sh != NULL) |
98 | GNUNET_ATS_reserve_bandwidth_cancel (sh); | 87 | GNUNET_ATS_reserve_bandwidth_cancel (sh); |
99 | |||
100 | if (ats != NULL) | 88 | if (ats != NULL) |
101 | GNUNET_ATS_scheduling_done (ats); | 89 | GNUNET_ATS_scheduling_done (ats); |
102 | if (atp != NULL) | 90 | if (atp != NULL) |
103 | GNUNET_ATS_performance_done (atp); | 91 | GNUNET_ATS_performance_done (atp); |
104 | |||
105 | GNUNET_free (p->addr); | 92 | GNUNET_free (p->addr); |
106 | GNUNET_free (p); | 93 | GNUNET_free (p); |
107 | |||
108 | ret = GNUNET_SYSERR; | 94 | ret = GNUNET_SYSERR; |
109 | |||
110 | stop_arm (); | ||
111 | } | 95 | } |
112 | 96 | ||
113 | 97 | ||
@@ -119,26 +103,20 @@ end () | |||
119 | GNUNET_SCHEDULER_cancel (die_task); | 103 | GNUNET_SCHEDULER_cancel (die_task); |
120 | die_task = GNUNET_SCHEDULER_NO_TASK; | 104 | die_task = GNUNET_SCHEDULER_NO_TASK; |
121 | } | 105 | } |
122 | |||
123 | if (consume_task != GNUNET_SCHEDULER_NO_TASK) | 106 | if (consume_task != GNUNET_SCHEDULER_NO_TASK) |
124 | { | 107 | { |
125 | GNUNET_SCHEDULER_cancel (consume_task); | 108 | GNUNET_SCHEDULER_cancel (consume_task); |
126 | consume_task = GNUNET_SCHEDULER_NO_TASK; | 109 | consume_task = GNUNET_SCHEDULER_NO_TASK; |
127 | } | 110 | } |
128 | |||
129 | GNUNET_ATS_scheduling_done (ats); | 111 | GNUNET_ATS_scheduling_done (ats); |
130 | |||
131 | GNUNET_ATS_performance_done (atp); | 112 | GNUNET_ATS_performance_done (atp); |
132 | |||
133 | GNUNET_free (p->addr); | 113 | GNUNET_free (p->addr); |
134 | GNUNET_free (p); | 114 | GNUNET_free (p); |
135 | |||
136 | ret = 0; | 115 | ret = 0; |
137 | |||
138 | stop_arm (); | ||
139 | } | 116 | } |
140 | 117 | ||
141 | void | 118 | |
119 | static void | ||
142 | performance_cb (void *cls, const struct GNUNET_PeerIdentity *peer, | 120 | performance_cb (void *cls, const struct GNUNET_PeerIdentity *peer, |
143 | const char *plugin_name, const void *plugin_addr, | 121 | const char *plugin_name, const void *plugin_addr, |
144 | size_t plugin_addr_len, | 122 | size_t plugin_addr_len, |
@@ -149,7 +127,8 @@ performance_cb (void *cls, const struct GNUNET_PeerIdentity *peer, | |||
149 | 127 | ||
150 | } | 128 | } |
151 | 129 | ||
152 | void | 130 | |
131 | static void | ||
153 | reservation_cb (void *cls, const struct GNUNET_PeerIdentity *peer, | 132 | reservation_cb (void *cls, const struct GNUNET_PeerIdentity *peer, |
154 | int32_t amount, struct GNUNET_TIME_Relative res_delay) | 133 | int32_t amount, struct GNUNET_TIME_Relative res_delay) |
155 | { | 134 | { |
@@ -159,6 +138,7 @@ reservation_cb (void *cls, const struct GNUNET_PeerIdentity *peer, | |||
159 | GNUNET_i2s (peer), res_delay.rel_value); | 138 | GNUNET_i2s (peer), res_delay.rel_value); |
160 | } | 139 | } |
161 | 140 | ||
141 | |||
162 | static void | 142 | static void |
163 | consume_bandwidth (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 143 | consume_bandwidth (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
164 | { | 144 | { |
@@ -173,6 +153,7 @@ consume_bandwidth (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
173 | NULL); | 153 | NULL); |
174 | } | 154 | } |
175 | 155 | ||
156 | |||
176 | static void | 157 | static void |
177 | address_suggest_cb (void *cls, const struct GNUNET_PeerIdentity *peer, | 158 | address_suggest_cb (void *cls, const struct GNUNET_PeerIdentity *peer, |
178 | const char *plugin_name, const void *plugin_addr, | 159 | const char *plugin_name, const void *plugin_addr, |
@@ -191,25 +172,16 @@ address_suggest_cb (void *cls, const struct GNUNET_PeerIdentity *peer, | |||
191 | consume_task = GNUNET_SCHEDULER_add_now (&consume_bandwidth, NULL); | 172 | consume_task = GNUNET_SCHEDULER_add_now (&consume_bandwidth, NULL); |
192 | } | 173 | } |
193 | 174 | ||
194 | void | ||
195 | start_arm (const char *cfgname) | ||
196 | { | ||
197 | arm_proc = | ||
198 | GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm", | ||
199 | "gnunet-service-arm", | ||
200 | "-c", cfgname, NULL); | ||
201 | } | ||
202 | 175 | ||
203 | static void | 176 | static void |
204 | check (void *cls, char *const *args, const char *cfgfile, | 177 | run (void *cls, |
205 | const struct GNUNET_CONFIGURATION_Handle *cfg) | 178 | const struct GNUNET_CONFIGURATION_Handle *cfg, |
179 | struct GNUNET_TESTING_Peer *peer) | ||
206 | { | 180 | { |
207 | ret = GNUNET_SYSERR; | ||
208 | struct Address *addr; | 181 | struct Address *addr; |
209 | 182 | ||
183 | ret = GNUNET_SYSERR; | ||
210 | die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); | 184 | die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); |
211 | start_arm (cfgfile); | ||
212 | |||
213 | ats = GNUNET_ATS_scheduling_init (cfg, &address_suggest_cb, NULL); | 185 | ats = GNUNET_ATS_scheduling_init (cfg, &address_suggest_cb, NULL); |
214 | if (ats == NULL) | 186 | if (ats == NULL) |
215 | { | 187 | { |
@@ -217,7 +189,6 @@ check (void *cls, char *const *args, const char *cfgfile, | |||
217 | end (); | 189 | end (); |
218 | return; | 190 | return; |
219 | } | 191 | } |
220 | |||
221 | p = GNUNET_malloc (sizeof (struct PeerContext)); | 192 | p = GNUNET_malloc (sizeof (struct PeerContext)); |
222 | addr = GNUNET_malloc (sizeof (struct Address)); | 193 | addr = GNUNET_malloc (sizeof (struct Address)); |
223 | 194 | ||
@@ -250,25 +221,14 @@ check (void *cls, char *const *args, const char *cfgfile, | |||
250 | GNUNET_ATS_suggest_address (ats, &p->id); | 221 | GNUNET_ATS_suggest_address (ats, &p->id); |
251 | } | 222 | } |
252 | 223 | ||
224 | |||
253 | int | 225 | int |
254 | main (int argc, char *argv[]) | 226 | main (int argc, char *argv[]) |
255 | { | 227 | { |
256 | static char *const argv2[] = { "test_ats_api_bandwidth_consumption", | 228 | if (0 != GNUNET_TESTING_peer_run ("test_ats_api_bandwidth_consumption", |
257 | "-c", | 229 | "test_ats_api.conf", |
258 | "test_ats_api.conf", | 230 | &run, NULL)) |
259 | "-L", "WARNING", | 231 | return 1; |
260 | NULL | ||
261 | }; | ||
262 | |||
263 | static struct GNUNET_GETOPT_CommandLineOption options[] = { | ||
264 | GNUNET_GETOPT_OPTION_END | ||
265 | }; | ||
266 | |||
267 | GNUNET_PROGRAM_run ((sizeof (argv2) / sizeof (char *)) - 1, argv2, | ||
268 | "test_ats_api_bandwidth_consumption", "nohelp", options, | ||
269 | &check, NULL); | ||
270 | |||
271 | |||
272 | return ret; | 232 | return ret; |
273 | } | 233 | } |
274 | 234 | ||
diff --git a/src/ats/test_ats_api_reset_backoff.c b/src/ats/test_ats_api_reset_backoff.c index 859cfc215..ecdf0cb53 100644 --- a/src/ats/test_ats_api_reset_backoff.c +++ b/src/ats/test_ats_api_reset_backoff.c | |||
@@ -25,6 +25,7 @@ | |||
25 | */ | 25 | */ |
26 | #include "platform.h" | 26 | #include "platform.h" |
27 | #include "gnunet_ats_service.h" | 27 | #include "gnunet_ats_service.h" |
28 | #include "gnunet_testing_lib-new.h" | ||
28 | #include "ats.h" | 29 | #include "ats.h" |
29 | 30 | ||
30 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) | 31 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) |
@@ -36,10 +37,9 @@ static GNUNET_SCHEDULER_TaskIdentifier suggest_timeout_task; | |||
36 | 37 | ||
37 | static struct GNUNET_ATS_SchedulingHandle *ats; | 38 | static struct GNUNET_ATS_SchedulingHandle *ats; |
38 | 39 | ||
39 | struct GNUNET_OS_Process *arm_proc; | ||
40 | |||
41 | static int ret; | 40 | static int ret; |
42 | 41 | ||
42 | |||
43 | struct Address | 43 | struct Address |
44 | { | 44 | { |
45 | char *plugin; | 45 | char *plugin; |
@@ -62,41 +62,29 @@ struct PeerContext | |||
62 | }; | 62 | }; |
63 | 63 | ||
64 | struct GNUNET_HELLO_Address hello_addr; | 64 | struct GNUNET_HELLO_Address hello_addr; |
65 | |||
65 | struct Address address; | 66 | struct Address address; |
67 | |||
66 | struct PeerContext peer; | 68 | struct PeerContext peer; |
67 | struct GNUNET_ATS_Information atsi[2]; | ||
68 | 69 | ||
69 | static void | 70 | struct GNUNET_ATS_Information atsi[2]; |
70 | stop_arm () | ||
71 | { | ||
72 | if (0 != GNUNET_OS_process_kill (arm_proc, SIGTERM)) | ||
73 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); | ||
74 | GNUNET_OS_process_wait (arm_proc); | ||
75 | GNUNET_OS_process_destroy (arm_proc); | ||
76 | arm_proc = NULL; | ||
77 | } | ||
78 | 71 | ||
79 | 72 | ||
80 | static void | 73 | static void |
81 | end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 74 | end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
82 | { | 75 | { |
83 | die_task = GNUNET_SCHEDULER_NO_TASK; | 76 | die_task = GNUNET_SCHEDULER_NO_TASK; |
84 | |||
85 | if (suggest_timeout_task != GNUNET_SCHEDULER_NO_TASK) | 77 | if (suggest_timeout_task != GNUNET_SCHEDULER_NO_TASK) |
86 | { | 78 | { |
87 | GNUNET_SCHEDULER_cancel (suggest_timeout_task); | 79 | GNUNET_SCHEDULER_cancel (suggest_timeout_task); |
88 | suggest_timeout_task = GNUNET_SCHEDULER_NO_TASK; | 80 | suggest_timeout_task = GNUNET_SCHEDULER_NO_TASK; |
89 | } | 81 | } |
90 | |||
91 | if (ats != NULL) | 82 | if (ats != NULL) |
92 | { | 83 | { |
93 | GNUNET_ATS_scheduling_done (ats); | 84 | GNUNET_ATS_scheduling_done (ats); |
94 | ats = NULL; | 85 | ats = NULL; |
95 | } | 86 | } |
96 | |||
97 | ret = GNUNET_SYSERR; | 87 | ret = GNUNET_SYSERR; |
98 | |||
99 | stop_arm (); | ||
100 | } | 88 | } |
101 | 89 | ||
102 | 90 | ||
@@ -115,12 +103,8 @@ end () | |||
115 | GNUNET_SCHEDULER_cancel (suggest_timeout_task); | 103 | GNUNET_SCHEDULER_cancel (suggest_timeout_task); |
116 | suggest_timeout_task = GNUNET_SCHEDULER_NO_TASK; | 104 | suggest_timeout_task = GNUNET_SCHEDULER_NO_TASK; |
117 | } | 105 | } |
118 | |||
119 | GNUNET_ATS_scheduling_done (ats); | 106 | GNUNET_ATS_scheduling_done (ats); |
120 | |||
121 | ret = 0; | 107 | ret = 0; |
122 | |||
123 | stop_arm (); | ||
124 | } | 108 | } |
125 | 109 | ||
126 | 110 | ||
@@ -128,18 +112,16 @@ static void | |||
128 | suggest_timeout (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 112 | suggest_timeout (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
129 | { | 113 | { |
130 | suggest_timeout_task = GNUNET_SCHEDULER_NO_TASK; | 114 | suggest_timeout_task = GNUNET_SCHEDULER_NO_TASK; |
131 | |||
132 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Requesting address for peer timed out\n"); | 115 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Requesting address for peer timed out\n"); |
133 | |||
134 | if (die_task != GNUNET_SCHEDULER_NO_TASK) | 116 | if (die_task != GNUNET_SCHEDULER_NO_TASK) |
135 | { | 117 | { |
136 | GNUNET_SCHEDULER_cancel (die_task); | 118 | GNUNET_SCHEDULER_cancel (die_task); |
137 | die_task = GNUNET_SCHEDULER_NO_TASK; | 119 | die_task = GNUNET_SCHEDULER_NO_TASK; |
138 | } | 120 | } |
139 | |||
140 | die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); | 121 | die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); |
141 | } | 122 | } |
142 | 123 | ||
124 | |||
143 | static void | 125 | static void |
144 | address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *a, | 126 | address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *a, |
145 | struct Session *session, | 127 | struct Session *session, |
@@ -149,6 +131,7 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *a, | |||
149 | uint32_t ats_count) | 131 | uint32_t ats_count) |
150 | { | 132 | { |
151 | static int suggestions; | 133 | static int suggestions; |
134 | |||
152 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ATS suggests address `%s'\n", | 135 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ATS suggests address `%s'\n", |
153 | GNUNET_i2s (&a->peer)); | 136 | GNUNET_i2s (&a->peer)); |
154 | 137 | ||
@@ -230,26 +213,15 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *a, | |||
230 | suggest_timeout_task = GNUNET_SCHEDULER_add_delayed(ATS_TIMEOUT, &suggest_timeout, NULL); | 213 | suggest_timeout_task = GNUNET_SCHEDULER_add_delayed(ATS_TIMEOUT, &suggest_timeout, NULL); |
231 | } | 214 | } |
232 | 215 | ||
233 | void | ||
234 | start_arm (const char *cfgname) | ||
235 | { | ||
236 | arm_proc = | ||
237 | GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm", | ||
238 | "gnunet-service-arm", | ||
239 | "-c", cfgname, NULL); | ||
240 | } | ||
241 | 216 | ||
242 | static void | 217 | static void |
243 | check (void *cls, char *const *args, const char *cfgfile, | 218 | run (void *cls, |
244 | const struct GNUNET_CONFIGURATION_Handle *cfg) | 219 | const struct GNUNET_CONFIGURATION_Handle *cfg, |
220 | struct GNUNET_TESTING_Peer *peerx) | ||
245 | { | 221 | { |
246 | ret = GNUNET_SYSERR; | 222 | ret = GNUNET_SYSERR; |
247 | |||
248 | die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); | 223 | die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); |
249 | start_arm (cfgfile); | ||
250 | |||
251 | ats = GNUNET_ATS_scheduling_init (cfg, &address_suggest_cb, NULL); | 224 | ats = GNUNET_ATS_scheduling_init (cfg, &address_suggest_cb, NULL); |
252 | |||
253 | if (ats == NULL) | 225 | if (ats == NULL) |
254 | { | 226 | { |
255 | ret = GNUNET_SYSERR; | 227 | ret = GNUNET_SYSERR; |
@@ -280,30 +252,18 @@ check (void *cls, char *const *args, const char *cfgfile, | |||
280 | GNUNET_i2s (&peer.id)); | 252 | GNUNET_i2s (&peer.id)); |
281 | /* Increase block timout far beyond ATS_TIMEOUT */ | 253 | /* Increase block timout far beyond ATS_TIMEOUT */ |
282 | GNUNET_ATS_suggest_address (ats, &peer.id); | 254 | GNUNET_ATS_suggest_address (ats, &peer.id); |
283 | |||
284 | GNUNET_ATS_reset_backoff(ats, &peer.id); | 255 | GNUNET_ATS_reset_backoff(ats, &peer.id); |
285 | GNUNET_ATS_suggest_address (ats, &peer.id); | 256 | GNUNET_ATS_suggest_address (ats, &peer.id); |
286 | } | 257 | } |
287 | 258 | ||
259 | |||
288 | int | 260 | int |
289 | main (int argc, char *argv[]) | 261 | main (int argc, char *argv[]) |
290 | { | 262 | { |
291 | static char *const argv2[] = { "test_ats_api_scheduling", | 263 | if (0 != GNUNET_TESTING_peer_run ("test_ats_api_reset_backoff", |
292 | "-c", | 264 | "test_ats_api.conf", |
293 | "test_ats_api.conf", | 265 | &run, NULL)) |
294 | "-L", "WARNING", | 266 | return 1; |
295 | NULL | ||
296 | }; | ||
297 | |||
298 | static struct GNUNET_GETOPT_CommandLineOption options[] = { | ||
299 | GNUNET_GETOPT_OPTION_END | ||
300 | }; | ||
301 | |||
302 | GNUNET_PROGRAM_run ((sizeof (argv2) / sizeof (char *)) - 1, argv2, | ||
303 | "test_ats_api_scheduling", "nohelp", options, &check, | ||
304 | NULL); | ||
305 | |||
306 | |||
307 | return ret; | 267 | return ret; |
308 | } | 268 | } |
309 | /* end of file test_ats_api_reset_backoff.c */ | 269 | /* end of file test_ats_api_reset_backoff.c */ |
diff --git a/src/ats/test_ats_api_scheduling.c b/src/ats/test_ats_api_scheduling.c index 39d53ddd4..750bae6c2 100644 --- a/src/ats/test_ats_api_scheduling.c +++ b/src/ats/test_ats_api_scheduling.c | |||
@@ -32,6 +32,7 @@ | |||
32 | */ | 32 | */ |
33 | #include "platform.h" | 33 | #include "platform.h" |
34 | #include "gnunet_ats_service.h" | 34 | #include "gnunet_ats_service.h" |
35 | #include "gnunet_testing_lib-new.h" | ||
35 | #include "ats.h" | 36 | #include "ats.h" |
36 | 37 | ||
37 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) | 38 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) |
@@ -40,10 +41,6 @@ static GNUNET_SCHEDULER_TaskIdentifier die_task; | |||
40 | 41 | ||
41 | static struct GNUNET_ATS_SchedulingHandle *ats; | 42 | static struct GNUNET_ATS_SchedulingHandle *ats; |
42 | 43 | ||
43 | struct GNUNET_OS_Process *arm_proc; | ||
44 | |||
45 | |||
46 | |||
47 | static int ret; | 44 | static int ret; |
48 | 45 | ||
49 | struct Address | 46 | struct Address |
@@ -67,19 +64,11 @@ struct PeerContext | |||
67 | struct Address *addr; | 64 | struct Address *addr; |
68 | }; | 65 | }; |
69 | 66 | ||
70 | struct Address test_addr[2]; | 67 | static struct Address test_addr[2]; |
71 | struct PeerContext p[2]; | ||
72 | struct GNUNET_ATS_Information atsi[2]; | ||
73 | 68 | ||
74 | static void | 69 | static struct PeerContext p[2]; |
75 | stop_arm () | 70 | |
76 | { | 71 | static struct GNUNET_ATS_Information atsi[2]; |
77 | if (0 != GNUNET_OS_process_kill (arm_proc, SIGTERM)) | ||
78 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); | ||
79 | GNUNET_OS_process_wait (arm_proc); | ||
80 | GNUNET_OS_process_destroy (arm_proc); | ||
81 | arm_proc = NULL; | ||
82 | } | ||
83 | 72 | ||
84 | 73 | ||
85 | static void | 74 | static void |
@@ -88,10 +77,7 @@ end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
88 | die_task = GNUNET_SCHEDULER_NO_TASK; | 77 | die_task = GNUNET_SCHEDULER_NO_TASK; |
89 | if (ats != NULL) | 78 | if (ats != NULL) |
90 | GNUNET_ATS_scheduling_done (ats); | 79 | GNUNET_ATS_scheduling_done (ats); |
91 | |||
92 | ret = GNUNET_SYSERR; | 80 | ret = GNUNET_SYSERR; |
93 | |||
94 | stop_arm (); | ||
95 | } | 81 | } |
96 | 82 | ||
97 | 83 | ||
@@ -106,10 +92,7 @@ end () | |||
106 | } | 92 | } |
107 | 93 | ||
108 | GNUNET_ATS_scheduling_done (ats); | 94 | GNUNET_ATS_scheduling_done (ats); |
109 | |||
110 | ret = 0; | 95 | ret = 0; |
111 | |||
112 | stop_arm (); | ||
113 | } | 96 | } |
114 | 97 | ||
115 | 98 | ||
@@ -139,35 +122,24 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address, | |||
139 | GNUNET_SCHEDULER_add_now (&end, NULL); | 122 | GNUNET_SCHEDULER_add_now (&end, NULL); |
140 | } | 123 | } |
141 | 124 | ||
142 | void | ||
143 | start_arm (const char *cfgname) | ||
144 | { | ||
145 | arm_proc = | ||
146 | GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm", | ||
147 | "gnunet-service-arm", | ||
148 | "-c", cfgname, NULL); | ||
149 | } | ||
150 | 125 | ||
151 | static void | 126 | static void |
152 | check (void *cls, char *const *args, const char *cfgfile, | 127 | run (void *cls, |
153 | const struct GNUNET_CONFIGURATION_Handle *cfg) | 128 | const struct GNUNET_CONFIGURATION_Handle *cfg, |
129 | struct GNUNET_TESTING_Peer *peer) | ||
154 | { | 130 | { |
155 | struct GNUNET_HELLO_Address address0; | 131 | struct GNUNET_HELLO_Address address0; |
156 | 132 | ||
157 | ret = GNUNET_SYSERR; | 133 | ret = GNUNET_SYSERR; |
158 | 134 | ||
159 | die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); | 135 | die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); |
160 | start_arm (cfgfile); | ||
161 | |||
162 | ats = GNUNET_ATS_scheduling_init (cfg, &address_suggest_cb, NULL); | 136 | ats = GNUNET_ATS_scheduling_init (cfg, &address_suggest_cb, NULL); |
163 | |||
164 | if (ats == NULL) | 137 | if (ats == NULL) |
165 | { | 138 | { |
166 | ret = GNUNET_SYSERR; | 139 | ret = GNUNET_SYSERR; |
167 | end (); | 140 | end (); |
168 | return; | 141 | return; |
169 | } | 142 | } |
170 | |||
171 | /* set up peer */ | 143 | /* set up peer */ |
172 | GNUNET_CRYPTO_hash_create_random (GNUNET_CRYPTO_QUALITY_WEAK, | 144 | GNUNET_CRYPTO_hash_create_random (GNUNET_CRYPTO_QUALITY_WEAK, |
173 | &p[0].id.hashPubKey); | 145 | &p[0].id.hashPubKey); |
@@ -215,25 +187,14 @@ check (void *cls, char *const *args, const char *cfgfile, | |||
215 | GNUNET_ATS_suggest_address (ats, &p[0].id); | 187 | GNUNET_ATS_suggest_address (ats, &p[0].id); |
216 | } | 188 | } |
217 | 189 | ||
190 | |||
218 | int | 191 | int |
219 | main (int argc, char *argv[]) | 192 | main (int argc, char *argv[]) |
220 | { | 193 | { |
221 | static char *const argv2[] = { "test_ats_api_scheduling", | 194 | if (0 != GNUNET_TESTING_peer_run ("test_ats_api_scheduling", |
222 | "-c", | 195 | "test_ats_api.conf", |
223 | "test_ats_api.conf", | 196 | &run, NULL)) |
224 | "-L", "WARNING", | 197 | return 1; |
225 | NULL | ||
226 | }; | ||
227 | |||
228 | static struct GNUNET_GETOPT_CommandLineOption options[] = { | ||
229 | GNUNET_GETOPT_OPTION_END | ||
230 | }; | ||
231 | |||
232 | GNUNET_PROGRAM_run ((sizeof (argv2) / sizeof (char *)) - 1, argv2, | ||
233 | "test_ats_api_scheduling", "nohelp", options, &check, | ||
234 | NULL); | ||
235 | |||
236 | |||
237 | return ret; | 198 | return ret; |
238 | } | 199 | } |
239 | 200 | ||
diff --git a/src/ats/test_ats_api_scheduling_add_address.c b/src/ats/test_ats_api_scheduling_add_address.c index 587515df3..29dd33c71 100644 --- a/src/ats/test_ats_api_scheduling_add_address.c +++ b/src/ats/test_ats_api_scheduling_add_address.c | |||
@@ -25,6 +25,7 @@ | |||
25 | */ | 25 | */ |
26 | #include "platform.h" | 26 | #include "platform.h" |
27 | #include "gnunet_ats_service.h" | 27 | #include "gnunet_ats_service.h" |
28 | #include "gnunet_testing_lib-new.h" | ||
28 | #include "ats.h" | 29 | #include "ats.h" |
29 | 30 | ||
30 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) | 31 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) |
@@ -33,10 +34,6 @@ static GNUNET_SCHEDULER_TaskIdentifier die_task; | |||
33 | 34 | ||
34 | static struct GNUNET_ATS_SchedulingHandle *ats; | 35 | static struct GNUNET_ATS_SchedulingHandle *ats; |
35 | 36 | ||
36 | struct GNUNET_OS_Process *arm_proc; | ||
37 | |||
38 | |||
39 | |||
40 | static int ret; | 37 | static int ret; |
41 | 38 | ||
42 | struct Address | 39 | struct Address |
@@ -60,19 +57,12 @@ struct PeerContext | |||
60 | struct Address *addr; | 57 | struct Address *addr; |
61 | }; | 58 | }; |
62 | 59 | ||
63 | struct Address test_addr; | ||
64 | struct PeerContext p; | ||
65 | struct GNUNET_ATS_Information atsi; | ||
66 | 60 | ||
67 | static void | 61 | static struct Address test_addr; |
68 | stop_arm () | 62 | |
69 | { | 63 | static struct PeerContext p; |
70 | if (0 != GNUNET_OS_process_kill (arm_proc, SIGTERM)) | 64 | |
71 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); | 65 | static struct GNUNET_ATS_Information atsi; |
72 | GNUNET_OS_process_wait (arm_proc); | ||
73 | GNUNET_OS_process_destroy (arm_proc); | ||
74 | arm_proc = NULL; | ||
75 | } | ||
76 | 66 | ||
77 | 67 | ||
78 | static void | 68 | static void |
@@ -81,10 +71,7 @@ end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
81 | die_task = GNUNET_SCHEDULER_NO_TASK; | 71 | die_task = GNUNET_SCHEDULER_NO_TASK; |
82 | if (ats != NULL) | 72 | if (ats != NULL) |
83 | GNUNET_ATS_scheduling_done (ats); | 73 | GNUNET_ATS_scheduling_done (ats); |
84 | |||
85 | ret = GNUNET_SYSERR; | 74 | ret = GNUNET_SYSERR; |
86 | |||
87 | stop_arm (); | ||
88 | } | 75 | } |
89 | 76 | ||
90 | 77 | ||
@@ -97,12 +84,8 @@ end () | |||
97 | GNUNET_SCHEDULER_cancel (die_task); | 84 | GNUNET_SCHEDULER_cancel (die_task); |
98 | die_task = GNUNET_SCHEDULER_NO_TASK; | 85 | die_task = GNUNET_SCHEDULER_NO_TASK; |
99 | } | 86 | } |
100 | |||
101 | GNUNET_ATS_scheduling_done (ats); | 87 | GNUNET_ATS_scheduling_done (ats); |
102 | |||
103 | ret = 0; | 88 | ret = 0; |
104 | |||
105 | stop_arm (); | ||
106 | } | 89 | } |
107 | 90 | ||
108 | 91 | ||
@@ -132,26 +115,16 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address, | |||
132 | GNUNET_SCHEDULER_add_now (&end, NULL); | 115 | GNUNET_SCHEDULER_add_now (&end, NULL); |
133 | } | 116 | } |
134 | 117 | ||
135 | void | ||
136 | start_arm (const char *cfgname) | ||
137 | { | ||
138 | arm_proc = | ||
139 | GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm", | ||
140 | "gnunet-service-arm", | ||
141 | "-c", cfgname, NULL); | ||
142 | } | ||
143 | 118 | ||
144 | static void | 119 | static void |
145 | check (void *cls, char *const *args, const char *cfgfile, | 120 | run (void *cls, |
146 | const struct GNUNET_CONFIGURATION_Handle *cfg) | 121 | const struct GNUNET_CONFIGURATION_Handle *cfg, |
122 | struct GNUNET_TESTING_Peer *peer) | ||
147 | { | 123 | { |
148 | struct GNUNET_HELLO_Address address0; | 124 | struct GNUNET_HELLO_Address address0; |
149 | 125 | ||
150 | ret = GNUNET_SYSERR; | 126 | ret = GNUNET_SYSERR; |
151 | |||
152 | die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); | 127 | die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); |
153 | start_arm (cfgfile); | ||
154 | |||
155 | ats = GNUNET_ATS_scheduling_init (cfg, &address_suggest_cb, NULL); | 128 | ats = GNUNET_ATS_scheduling_init (cfg, &address_suggest_cb, NULL); |
156 | 129 | ||
157 | if (ats == NULL) | 130 | if (ats == NULL) |
@@ -194,25 +167,14 @@ check (void *cls, char *const *args, const char *cfgfile, | |||
194 | GNUNET_ATS_suggest_address (ats, &p.id); | 167 | GNUNET_ATS_suggest_address (ats, &p.id); |
195 | } | 168 | } |
196 | 169 | ||
170 | |||
197 | int | 171 | int |
198 | main (int argc, char *argv[]) | 172 | main (int argc, char *argv[]) |
199 | { | 173 | { |
200 | static char *const argv2[] = { "test_ats_api_scheduling_add_address", | 174 | if (0 != GNUNET_TESTING_peer_run ("test_ats_api_scheduling_add_address", |
201 | "-c", | 175 | "test_ats_api.conf", |
202 | "test_ats_api.conf", | 176 | &run, NULL)) |
203 | "-L", "WARNING", | 177 | return 1; |
204 | NULL | ||
205 | }; | ||
206 | |||
207 | static struct GNUNET_GETOPT_CommandLineOption options[] = { | ||
208 | GNUNET_GETOPT_OPTION_END | ||
209 | }; | ||
210 | |||
211 | GNUNET_PROGRAM_run ((sizeof (argv2) / sizeof (char *)) - 1, argv2, | ||
212 | "test_ats_api_scheduling_add_address", "nohelp", options, &check, | ||
213 | NULL); | ||
214 | |||
215 | |||
216 | return ret; | 178 | return ret; |
217 | } | 179 | } |
218 | 180 | ||
diff --git a/src/ats/test_ats_api_scheduling_destroy_address.c b/src/ats/test_ats_api_scheduling_destroy_address.c index 9cf6217f8..ff29e9a2d 100644 --- a/src/ats/test_ats_api_scheduling_destroy_address.c +++ b/src/ats/test_ats_api_scheduling_destroy_address.c | |||
@@ -26,6 +26,7 @@ | |||
26 | */ | 26 | */ |
27 | #include "platform.h" | 27 | #include "platform.h" |
28 | #include "gnunet_ats_service.h" | 28 | #include "gnunet_ats_service.h" |
29 | #include "gnunet_testing_lib-new.h" | ||
29 | #include "ats.h" | 30 | #include "ats.h" |
30 | 31 | ||
31 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) | 32 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) |
@@ -34,13 +35,11 @@ static GNUNET_SCHEDULER_TaskIdentifier die_task; | |||
34 | 35 | ||
35 | static struct GNUNET_ATS_SchedulingHandle *ats; | 36 | static struct GNUNET_ATS_SchedulingHandle *ats; |
36 | 37 | ||
37 | struct GNUNET_OS_Process *arm_proc; | ||
38 | |||
39 | |||
40 | |||
41 | static int ret; | 38 | static int ret; |
39 | |||
42 | static int stage; | 40 | static int stage; |
43 | 41 | ||
42 | |||
44 | struct Address | 43 | struct Address |
45 | { | 44 | { |
46 | char *plugin; | 45 | char *plugin; |
@@ -62,20 +61,11 @@ struct PeerContext | |||
62 | struct Address *addr; | 61 | struct Address *addr; |
63 | }; | 62 | }; |
64 | 63 | ||
65 | struct Address test_addr; | 64 | static struct Address test_addr; |
66 | struct PeerContext p; | ||
67 | struct GNUNET_ATS_Information atsi; | ||
68 | struct GNUNET_HELLO_Address hello_address; | ||
69 | 65 | ||
70 | static void | 66 | static struct PeerContext p; |
71 | stop_arm () | 67 | |
72 | { | 68 | static struct GNUNET_HELLO_Address hello_address; |
73 | if (0 != GNUNET_OS_process_kill (arm_proc, SIGTERM)) | ||
74 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); | ||
75 | GNUNET_OS_process_wait (arm_proc); | ||
76 | GNUNET_OS_process_destroy (arm_proc); | ||
77 | arm_proc = NULL; | ||
78 | } | ||
79 | 69 | ||
80 | 70 | ||
81 | static void | 71 | static void |
@@ -84,10 +74,7 @@ end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
84 | die_task = GNUNET_SCHEDULER_NO_TASK; | 74 | die_task = GNUNET_SCHEDULER_NO_TASK; |
85 | if (ats != NULL) | 75 | if (ats != NULL) |
86 | GNUNET_ATS_scheduling_done (ats); | 76 | GNUNET_ATS_scheduling_done (ats); |
87 | |||
88 | ret = GNUNET_SYSERR; | 77 | ret = GNUNET_SYSERR; |
89 | |||
90 | stop_arm (); | ||
91 | } | 78 | } |
92 | 79 | ||
93 | 80 | ||
@@ -100,9 +87,7 @@ end () | |||
100 | GNUNET_SCHEDULER_cancel (die_task); | 87 | GNUNET_SCHEDULER_cancel (die_task); |
101 | die_task = GNUNET_SCHEDULER_NO_TASK; | 88 | die_task = GNUNET_SCHEDULER_NO_TASK; |
102 | } | 89 | } |
103 | |||
104 | GNUNET_ATS_scheduling_done (ats); | 90 | GNUNET_ATS_scheduling_done (ats); |
105 | |||
106 | if (2 == stage) | 91 | if (2 == stage) |
107 | ret = 0; | 92 | ret = 0; |
108 | else | 93 | else |
@@ -110,8 +95,6 @@ end () | |||
110 | GNUNET_break (0); | 95 | GNUNET_break (0); |
111 | ret = 1; | 96 | ret = 1; |
112 | } | 97 | } |
113 | |||
114 | stop_arm (); | ||
115 | } | 98 | } |
116 | 99 | ||
117 | 100 | ||
@@ -155,26 +138,16 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address, | |||
155 | stage++; | 138 | stage++; |
156 | } | 139 | } |
157 | 140 | ||
158 | void | ||
159 | start_arm (const char *cfgname) | ||
160 | { | ||
161 | arm_proc = | ||
162 | GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm", | ||
163 | "gnunet-service-arm", | ||
164 | "-c", cfgname, NULL); | ||
165 | } | ||
166 | 141 | ||
167 | static void | 142 | static void |
168 | check (void *cls, char *const *args, const char *cfgfile, | 143 | run (void *cls, |
169 | const struct GNUNET_CONFIGURATION_Handle *cfg) | 144 | const struct GNUNET_CONFIGURATION_Handle *cfg, |
145 | struct GNUNET_TESTING_Peer *peer) | ||
170 | { | 146 | { |
171 | ret = GNUNET_SYSERR; | 147 | ret = GNUNET_SYSERR; |
172 | 148 | ||
173 | die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); | 149 | die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); |
174 | start_arm (cfgfile); | ||
175 | |||
176 | ats = GNUNET_ATS_scheduling_init (cfg, &address_suggest_cb, NULL); | 150 | ats = GNUNET_ATS_scheduling_init (cfg, &address_suggest_cb, NULL); |
177 | |||
178 | if (ats == NULL) | 151 | if (ats == NULL) |
179 | { | 152 | { |
180 | ret = GNUNET_SYSERR; | 153 | ret = GNUNET_SYSERR; |
@@ -199,29 +172,17 @@ check (void *cls, char *const *args, const char *cfgfile, | |||
199 | hello_address.address = test_addr.addr; | 172 | hello_address.address = test_addr.addr; |
200 | hello_address.address_length = test_addr.addr_len; | 173 | hello_address.address_length = test_addr.addr_len; |
201 | GNUNET_ATS_address_add (ats, &hello_address, test_addr.session, NULL, 0); | 174 | GNUNET_ATS_address_add (ats, &hello_address, test_addr.session, NULL, 0); |
202 | |||
203 | GNUNET_ATS_suggest_address (ats, &p.id); | 175 | GNUNET_ATS_suggest_address (ats, &p.id); |
204 | } | 176 | } |
205 | 177 | ||
178 | |||
206 | int | 179 | int |
207 | main (int argc, char *argv[]) | 180 | main (int argc, char *argv[]) |
208 | { | 181 | { |
209 | static char *const argv2[] = { "test_ats_api_scheduling_destroy_address", | 182 | if (0 != GNUNET_TESTING_peer_run ("test_ats_api_scheduling_destroy_address", |
210 | "-c", | 183 | "test_ats_api.conf", |
211 | "test_ats_api.conf", | 184 | &run, NULL)) |
212 | "-L", "WARNING", | 185 | return 1; |
213 | NULL | ||
214 | }; | ||
215 | |||
216 | static struct GNUNET_GETOPT_CommandLineOption options[] = { | ||
217 | GNUNET_GETOPT_OPTION_END | ||
218 | }; | ||
219 | |||
220 | GNUNET_PROGRAM_run ((sizeof (argv2) / sizeof (char *)) - 1, argv2, | ||
221 | "test_ats_api_scheduling_destroy_address", "nohelp", options, &check, | ||
222 | NULL); | ||
223 | |||
224 | |||
225 | return ret; | 186 | return ret; |
226 | } | 187 | } |
227 | 188 | ||
diff --git a/src/ats/test_ats_api_scheduling_destroy_session.c b/src/ats/test_ats_api_scheduling_destroy_session.c index 7d223a71e..722102b32 100644 --- a/src/ats/test_ats_api_scheduling_destroy_session.c +++ b/src/ats/test_ats_api_scheduling_destroy_session.c | |||
@@ -27,6 +27,7 @@ | |||
27 | */ | 27 | */ |
28 | #include "platform.h" | 28 | #include "platform.h" |
29 | #include "gnunet_ats_service.h" | 29 | #include "gnunet_ats_service.h" |
30 | #include "gnunet_testing_lib-new.h" | ||
30 | #include "ats.h" | 31 | #include "ats.h" |
31 | 32 | ||
32 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) | 33 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) |
@@ -35,11 +36,8 @@ static GNUNET_SCHEDULER_TaskIdentifier die_task; | |||
35 | 36 | ||
36 | static struct GNUNET_ATS_SchedulingHandle *ats; | 37 | static struct GNUNET_ATS_SchedulingHandle *ats; |
37 | 38 | ||
38 | struct GNUNET_OS_Process *arm_proc; | ||
39 | |||
40 | |||
41 | |||
42 | static int ret; | 39 | static int ret; |
40 | |||
43 | static int stage; | 41 | static int stage; |
44 | 42 | ||
45 | struct Address | 43 | struct Address |
@@ -63,20 +61,12 @@ struct PeerContext | |||
63 | struct Address *addr; | 61 | struct Address *addr; |
64 | }; | 62 | }; |
65 | 63 | ||
66 | struct Address test_addr; | ||
67 | struct PeerContext p; | ||
68 | struct GNUNET_ATS_Information atsi; | ||
69 | struct GNUNET_HELLO_Address hello_address; | ||
70 | 64 | ||
71 | static void | 65 | static struct Address test_addr; |
72 | stop_arm () | 66 | |
73 | { | 67 | static struct PeerContext p; |
74 | if (0 != GNUNET_OS_process_kill (arm_proc, SIGTERM)) | 68 | |
75 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_WARNING, "kill"); | 69 | static struct GNUNET_HELLO_Address hello_address; |
76 | GNUNET_OS_process_wait (arm_proc); | ||
77 | GNUNET_OS_process_destroy (arm_proc); | ||
78 | arm_proc = NULL; | ||
79 | } | ||
80 | 70 | ||
81 | 71 | ||
82 | static void | 72 | static void |
@@ -85,10 +75,7 @@ end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
85 | die_task = GNUNET_SCHEDULER_NO_TASK; | 75 | die_task = GNUNET_SCHEDULER_NO_TASK; |
86 | if (ats != NULL) | 76 | if (ats != NULL) |
87 | GNUNET_ATS_scheduling_done (ats); | 77 | GNUNET_ATS_scheduling_done (ats); |
88 | |||
89 | ret = GNUNET_SYSERR; | 78 | ret = GNUNET_SYSERR; |
90 | |||
91 | stop_arm (); | ||
92 | } | 79 | } |
93 | 80 | ||
94 | 81 | ||
@@ -101,9 +88,7 @@ end () | |||
101 | GNUNET_SCHEDULER_cancel (die_task); | 88 | GNUNET_SCHEDULER_cancel (die_task); |
102 | die_task = GNUNET_SCHEDULER_NO_TASK; | 89 | die_task = GNUNET_SCHEDULER_NO_TASK; |
103 | } | 90 | } |
104 | |||
105 | GNUNET_ATS_scheduling_done (ats); | 91 | GNUNET_ATS_scheduling_done (ats); |
106 | |||
107 | if (2 == stage) | 92 | if (2 == stage) |
108 | ret = 0; | 93 | ret = 0; |
109 | else | 94 | else |
@@ -111,8 +96,6 @@ end () | |||
111 | GNUNET_break (0); | 96 | GNUNET_break (0); |
112 | ret = 1; | 97 | ret = 1; |
113 | } | 98 | } |
114 | |||
115 | stop_arm (); | ||
116 | } | 99 | } |
117 | 100 | ||
118 | 101 | ||
@@ -167,26 +150,16 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address, | |||
167 | stage++; | 150 | stage++; |
168 | } | 151 | } |
169 | 152 | ||
170 | void | ||
171 | start_arm (const char *cfgname) | ||
172 | { | ||
173 | arm_proc = | ||
174 | GNUNET_OS_start_process (GNUNET_YES, NULL, NULL, "gnunet-service-arm", | ||
175 | "gnunet-service-arm", | ||
176 | "-c", cfgname, NULL); | ||
177 | } | ||
178 | 153 | ||
179 | static void | 154 | static void |
180 | check (void *cls, char *const *args, const char *cfgfile, | 155 | run (void *cls, |
181 | const struct GNUNET_CONFIGURATION_Handle *cfg) | 156 | const struct GNUNET_CONFIGURATION_Handle *cfg, |
157 | struct GNUNET_TESTING_Peer *peer) | ||
182 | { | 158 | { |
183 | ret = GNUNET_SYSERR; | 159 | ret = GNUNET_SYSERR; |
184 | 160 | ||
185 | die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); | 161 | die_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, NULL); |
186 | start_arm (cfgfile); | ||
187 | |||
188 | ats = GNUNET_ATS_scheduling_init (cfg, &address_suggest_cb, NULL); | 162 | ats = GNUNET_ATS_scheduling_init (cfg, &address_suggest_cb, NULL); |
189 | |||
190 | if (ats == NULL) | 163 | if (ats == NULL) |
191 | { | 164 | { |
192 | ret = GNUNET_SYSERR; | 165 | ret = GNUNET_SYSERR; |
@@ -211,29 +184,17 @@ check (void *cls, char *const *args, const char *cfgfile, | |||
211 | hello_address.address = test_addr.addr; | 184 | hello_address.address = test_addr.addr; |
212 | hello_address.address_length = test_addr.addr_len; | 185 | hello_address.address_length = test_addr.addr_len; |
213 | GNUNET_ATS_address_add (ats, &hello_address, test_addr.session, NULL, 0); | 186 | GNUNET_ATS_address_add (ats, &hello_address, test_addr.session, NULL, 0); |
214 | |||
215 | GNUNET_ATS_suggest_address (ats, &p.id); | 187 | GNUNET_ATS_suggest_address (ats, &p.id); |
216 | } | 188 | } |
217 | 189 | ||
190 | |||
218 | int | 191 | int |
219 | main (int argc, char *argv[]) | 192 | main (int argc, char *argv[]) |
220 | { | 193 | { |
221 | static char *const argv2[] = { "test_ats_api_scheduling_destroy_session", | 194 | if (0 != GNUNET_TESTING_peer_run ("test_ats_api_scheduling_destroy_session", |
222 | "-c", | 195 | "test_ats_api.conf", |
223 | "test_ats_api.conf", | 196 | &run, NULL)) |
224 | "-L", "WARNING", | 197 | return 1; |
225 | NULL | ||
226 | }; | ||
227 | |||
228 | static struct GNUNET_GETOPT_CommandLineOption options[] = { | ||
229 | GNUNET_GETOPT_OPTION_END | ||
230 | }; | ||
231 | |||
232 | GNUNET_PROGRAM_run ((sizeof (argv2) / sizeof (char *)) - 1, argv2, | ||
233 | "test_ats_api_scheduling_destroy_session", "nohelp", options, &check, | ||
234 | NULL); | ||
235 | |||
236 | |||
237 | return ret; | 198 | return ret; |
238 | } | 199 | } |
239 | 200 | ||