diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2013-01-01 22:43:24 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2013-01-01 22:43:24 +0000 |
commit | 5200c6d68ff70c484c480794e5debbc50b62e2aa (patch) | |
tree | be43708e648a31833b88d12015ba5e3383e09ba1 /src/testbed/test_testbed_api_operations.c | |
parent | ed8bae1885d78ce9d91bf742e0a8080a7e922b76 (diff) | |
download | gnunet-5200c6d68ff70c484c480794e5debbc50b62e2aa.tar.gz gnunet-5200c6d68ff70c484c480794e5debbc50b62e2aa.zip |
- make operations wait when max_active is decreased
Diffstat (limited to 'src/testbed/test_testbed_api_operations.c')
-rw-r--r-- | src/testbed/test_testbed_api_operations.c | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/src/testbed/test_testbed_api_operations.c b/src/testbed/test_testbed_api_operations.c index 92bf12983..cccaac4d0 100644 --- a/src/testbed/test_testbed_api_operations.c +++ b/src/testbed/test_testbed_api_operations.c | |||
@@ -88,6 +88,12 @@ enum Test | |||
88 | */ | 88 | */ |
89 | TEST_OP1_RELEASED, | 89 | TEST_OP1_RELEASED, |
90 | 90 | ||
91 | /** | ||
92 | * Temporary pause where no operations should start as we set max active in q1 | ||
93 | * to 0 in stage TEST_OP1_STARTED | ||
94 | */ | ||
95 | TEST_PAUSE, | ||
96 | |||
91 | /** | 97 | /** |
92 | * op2 has started | 98 | * op2 has started |
93 | */ | 99 | */ |
@@ -99,12 +105,6 @@ enum Test | |||
99 | TEST_OP2_RELEASED, | 105 | TEST_OP2_RELEASED, |
100 | 106 | ||
101 | /** | 107 | /** |
102 | * Temporary pause where no operations should start as we set max active in q1 | ||
103 | * to 0 | ||
104 | */ | ||
105 | TEST_PAUSE, | ||
106 | |||
107 | /** | ||
108 | * op3 has started | 108 | * op3 has started |
109 | */ | 109 | */ |
110 | TEST_OP3_STARTED, | 110 | TEST_OP3_STARTED, |
@@ -164,13 +164,13 @@ step (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
164 | GNUNET_TESTBED_operation_queue_insert_ (q2, op3); | 164 | GNUNET_TESTBED_operation_queue_insert_ (q2, op3); |
165 | GNUNET_TESTBED_operation_begin_wait_ (op3); | 165 | GNUNET_TESTBED_operation_begin_wait_ (op3); |
166 | break; | 166 | break; |
167 | case TEST_OP2_STARTED: | 167 | case TEST_OP1_RELEASED: |
168 | GNUNET_TESTBED_operation_release_ (op2); | ||
169 | break; | ||
170 | case TEST_OP2_RELEASED: | ||
171 | result = TEST_PAUSE; | 168 | result = TEST_PAUSE; |
172 | GNUNET_TESTBED_operation_queue_reset_max_active_ (q1, 1); | 169 | GNUNET_TESTBED_operation_queue_reset_max_active_ (q1, 1); |
173 | break; | 170 | break; |
171 | case TEST_OP2_STARTED: | ||
172 | GNUNET_TESTBED_operation_release_ (op2); | ||
173 | break; | ||
174 | case TEST_OP3_STARTED: | 174 | case TEST_OP3_STARTED: |
175 | GNUNET_TESTBED_operation_release_ (op3); | 175 | GNUNET_TESTBED_operation_release_ (op3); |
176 | break; | 176 | break; |
@@ -196,13 +196,13 @@ start_cb (void *cls) | |||
196 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == step_task); | 196 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == step_task); |
197 | step_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &step, NULL); | 197 | step_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &step, NULL); |
198 | break; | 198 | break; |
199 | case TEST_OP1_RELEASED: | 199 | case TEST_PAUSE: |
200 | GNUNET_assert (&op2 == cls); | 200 | GNUNET_assert (&op2 == cls); |
201 | result = TEST_OP2_STARTED; | 201 | result = TEST_OP2_STARTED; |
202 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == step_task); | 202 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == step_task); |
203 | step_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &step, NULL); | 203 | step_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &step, NULL); |
204 | break; | 204 | break; |
205 | case TEST_PAUSE: | 205 | case TEST_OP2_RELEASED: |
206 | GNUNET_assert (&op3 == cls); | 206 | GNUNET_assert (&op3 == cls); |
207 | result = TEST_OP3_STARTED; | 207 | result = TEST_OP3_STARTED; |
208 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == step_task); | 208 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == step_task); |
@@ -232,13 +232,14 @@ release_cb (void *cls) | |||
232 | GNUNET_assert (&op1 == cls); | 232 | GNUNET_assert (&op1 == cls); |
233 | result = TEST_OP1_RELEASED; | 233 | result = TEST_OP1_RELEASED; |
234 | op1 = NULL; | 234 | op1 = NULL; |
235 | //GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &step, NULL); | 235 | step_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &step, |
236 | NULL); | ||
236 | break; | 237 | break; |
237 | case TEST_OP2_STARTED: | 238 | case TEST_OP2_STARTED: |
238 | GNUNET_assert (&op2 == cls); | 239 | GNUNET_assert (&op2 == cls); |
239 | result = TEST_OP2_RELEASED; | 240 | result = TEST_OP2_RELEASED; |
240 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == step_task); | 241 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == step_task); |
241 | step_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &step, NULL); | 242 | //step_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, &step, NULL); |
242 | break; | 243 | break; |
243 | case TEST_OP3_STARTED: | 244 | case TEST_OP3_STARTED: |
244 | GNUNET_assert (&op3 == cls); | 245 | GNUNET_assert (&op3 == cls); |