diff options
Diffstat (limited to 'src/testing/testing_api_cmd_netjail_start_testsystem.c')
-rw-r--r-- | src/testing/testing_api_cmd_netjail_start_testsystem.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/testing/testing_api_cmd_netjail_start_testsystem.c b/src/testing/testing_api_cmd_netjail_start_testsystem.c index a1712c7b5..09f767b7a 100644 --- a/src/testing/testing_api_cmd_netjail_start_testsystem.c +++ b/src/testing/testing_api_cmd_netjail_start_testsystem.c | |||
@@ -350,9 +350,11 @@ barrier_attached (struct NetJailState *ns, const struct | |||
350 | struct GNUNET_TESTING_Barrier *barrier; | 350 | struct GNUNET_TESTING_Barrier *barrier; |
351 | struct GNUNET_ShortHashCode key; | 351 | struct GNUNET_ShortHashCode key; |
352 | struct GNUNET_HashCode hc; | 352 | struct GNUNET_HashCode hc; |
353 | const char *barrier_name; | ||
353 | 354 | ||
354 | am = (struct GNUNET_TESTING_CommandBarrierAttached *) message; | 355 | am = (struct GNUNET_TESTING_CommandBarrierAttached *) message; |
355 | barrier = GNUNET_TESTING_get_barrier (ns->is, am->barrier_name); | 356 | barrier_name = (const char *) &am[1]; |
357 | barrier = GNUNET_TESTING_get_barrier (ns->is, barrier_name); | ||
356 | GNUNET_assert (NULL != barrier && GNUNET_NO == barrier->shadow); | 358 | GNUNET_assert (NULL != barrier && GNUNET_NO == barrier->shadow); |
357 | node = GNUNET_TESTING_barrier_get_node (barrier->nodes, am->node_number); | 359 | node = GNUNET_TESTING_barrier_get_node (barrier->nodes, am->node_number); |
358 | if (NULL == node) | 360 | if (NULL == node) |
@@ -376,18 +378,19 @@ void | |||
376 | barrier_reached (struct NetJailState *ns, const struct | 378 | barrier_reached (struct NetJailState *ns, const struct |
377 | GNUNET_MessageHeader *message) | 379 | GNUNET_MessageHeader *message) |
378 | { | 380 | { |
381 | struct GNUNET_TESTING_Barrier *barrier; | ||
382 | const char *barrier_name; | ||
379 | struct GNUNET_TESTING_CommandBarrierReached *rm = (struct | 383 | struct GNUNET_TESTING_CommandBarrierReached *rm = (struct |
380 | GNUNET_TESTING_CommandBarrierReached | 384 | GNUNET_TESTING_CommandBarrierReached |
381 | *) message; | 385 | *) message; |
382 | struct GNUNET_TESTING_Barrier *barrier = GNUNET_TESTING_get_barrier (ns->is, | ||
383 | rm-> | ||
384 | barrier_name); | ||
385 | 386 | ||
387 | barrier_name = (const char *) &rm[1]; | ||
388 | barrier = GNUNET_TESTING_get_barrier (ns->is, barrier_name); | ||
386 | GNUNET_assert (NULL != barrier && GNUNET_NO == barrier->shadow); | 389 | GNUNET_assert (NULL != barrier && GNUNET_NO == barrier->shadow); |
387 | barrier->reached++; | 390 | barrier->reached++; |
388 | if (GNUNET_TESTING_can_barrier_advance (barrier)) | 391 | if (GNUNET_TESTING_can_barrier_advance (barrier)) |
389 | { | 392 | { |
390 | GNUNET_TESTING_finish_attached_cmds (ns->is, barrier); | 393 | GNUNET_TESTING_finish_attached_cmds (ns->is, barrier->name); |
391 | } | 394 | } |
392 | } | 395 | } |
393 | 396 | ||
@@ -699,19 +702,21 @@ start_helper (struct NetJailState *ns, | |||
699 | 702 | ||
700 | for (pos = barriers->head; NULL != pos; pos = pos->next) | 703 | for (pos = barriers->head; NULL != pos; pos = pos->next) |
701 | { | 704 | { |
702 | barrier = GNUNET_TESTING_get_barrier (ns->is, pos->barrier->name); | 705 | barrier = GNUNET_TESTING_get_barrier (ns->is, pos->barrier_name); |
703 | if (NULL == barrier || GNUNET_YES == barrier->shadow) | 706 | if (NULL == barrier || GNUNET_YES == barrier->shadow) |
704 | { | 707 | { |
705 | GNUNET_TESTING_interpreter_add_barrier (ns->is, pos->barrier); | 708 | barrier = GNUNET_new (struct GNUNET_TESTING_Barrier); |
706 | barrier = pos->barrier; | 709 | barrier->name = pos->barrier_name; |
710 | GNUNET_TESTING_interpreter_add_barrier (ns->is, barrier); | ||
711 | |||
707 | barrier->nodes = GNUNET_CONTAINER_multishortmap_create (1,GNUNET_NO); | 712 | barrier->nodes = GNUNET_CONTAINER_multishortmap_create (1,GNUNET_NO); |
708 | } | 713 | } |
709 | GNUNET_assert (NULL != node); | 714 | GNUNET_assert (NULL != node); |
710 | barrier_node = GNUNET_new (struct GNUNET_TESTING_NetjailNode); | 715 | barrier_node = GNUNET_new (struct GNUNET_TESTING_NetjailNode); |
711 | barrier_node->node_number = node->node_number; | 716 | barrier_node->node_number = node->node_number; |
712 | barrier_node->expected_reaches = pos->barrier->expected_reaches; | 717 | barrier_node->expected_reaches = pos->expected_reaches; |
713 | barrier->expected_reaches = barrier->expected_reaches | 718 | barrier->expected_reaches = barrier->expected_reaches |
714 | + pos->barrier->expected_reaches; | 719 | + pos->expected_reaches; |
715 | GNUNET_CRYPTO_hash (&(node->node_number), sizeof(node->node_number), &hc); | 720 | GNUNET_CRYPTO_hash (&(node->node_number), sizeof(node->node_number), &hc); |
716 | memcpy (&key, &hc, sizeof (key)); | 721 | memcpy (&key, &hc, sizeof (key)); |
717 | GNUNET_CONTAINER_multishortmap_put (barrier->nodes, | 722 | GNUNET_CONTAINER_multishortmap_put (barrier->nodes, |