diff options
author | Christian Grothoff <grothoff@gnunet.org> | 2023-08-15 21:41:31 +0200 |
---|---|---|
committer | Christian Grothoff <grothoff@gnunet.org> | 2023-08-15 21:42:52 +0200 |
commit | ecfbd79c029090dfbc657194adae2d229273fb9d (patch) | |
tree | ecf018cabed401aad699e7cfeaf1e6f9050dd95e /src/testing/testing_api_loop.c | |
parent | 3c5eb7a406b3b0d2b47c00eabbff7a3984ce3429 (diff) | |
download | gnunet-ecfbd79c029090dfbc657194adae2d229273fb9d.tar.gz gnunet-ecfbd79c029090dfbc657194adae2d229273fb9d.zip |
-minor bugfixes, adding FIXMEs
Diffstat (limited to 'src/testing/testing_api_loop.c')
-rw-r--r-- | src/testing/testing_api_loop.c | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/src/testing/testing_api_loop.c b/src/testing/testing_api_loop.c index e34f87cc2..db0a00c22 100644 --- a/src/testing/testing_api_loop.c +++ b/src/testing/testing_api_loop.c | |||
@@ -123,7 +123,7 @@ struct FreeBarrierNodeCbCls | |||
123 | }; | 123 | }; |
124 | 124 | ||
125 | 125 | ||
126 | const struct GNUNET_TESTING_Command * | 126 | static const struct GNUNET_TESTING_Command * |
127 | get_command (struct GNUNET_TESTING_Interpreter *is, | 127 | get_command (struct GNUNET_TESTING_Interpreter *is, |
128 | const char *label, | 128 | const char *label, |
129 | unsigned int future) | 129 | unsigned int future) |
@@ -265,7 +265,7 @@ free_barrier_node_cb (void *cls, | |||
265 | } | 265 | } |
266 | 266 | ||
267 | 267 | ||
268 | int | 268 | static int |
269 | free_barriers_cb (void *cls, | 269 | free_barriers_cb (void *cls, |
270 | const struct GNUNET_ShortHashCode *key, | 270 | const struct GNUNET_ShortHashCode *key, |
271 | void *value) | 271 | void *value) |
@@ -574,14 +574,19 @@ GNUNET_TESTING_run (const struct GNUNET_TESTING_Command *commands, | |||
574 | is = GNUNET_new (struct GNUNET_TESTING_Interpreter); | 574 | is = GNUNET_new (struct GNUNET_TESTING_Interpreter); |
575 | is->rc = rc; | 575 | is->rc = rc; |
576 | is->rc_cls = rc_cls; | 576 | is->rc_cls = rc_cls; |
577 | is->barriers = GNUNET_CONTAINER_multishortmap_create (1,GNUNET_NO); | 577 | is->barriers = GNUNET_CONTAINER_multishortmap_create (1, |
578 | false); | ||
578 | /* get the number of commands */ | 579 | /* get the number of commands */ |
579 | for (i = 0; NULL != commands[i].run; i++) | 580 | for (i = 0; NULL != commands[i].run; i++) |
580 | ; | 581 | ; |
581 | is->cmds_n = i + 1; | 582 | is->cmds_n = i + 1; |
582 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Got %u commands\n", i); | 583 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
583 | is->commands = GNUNET_new_array (is->cmds_n, | 584 | "Got %u commands\n", |
584 | struct GNUNET_TESTING_Command); | 585 | i); |
586 | is->commands = GNUNET_malloc_large ( (i + 1) | ||
587 | * sizeof (struct | ||
588 | GNUNET_TESTING_Command)); | ||
589 | GNUNET_assert (NULL != is->commands); | ||
585 | memcpy (is->commands, | 590 | memcpy (is->commands, |
586 | commands, | 591 | commands, |
587 | sizeof (struct GNUNET_TESTING_Command) * i); | 592 | sizeof (struct GNUNET_TESTING_Command) * i); |
@@ -701,9 +706,9 @@ loop_run (void *cls) | |||
701 | * Continuation function from GNUNET_HELPER_send() | 706 | * Continuation function from GNUNET_HELPER_send() |
702 | * | 707 | * |
703 | * @param cls closure | 708 | * @param cls closure |
704 | * @param result GNUNET_OK on success, | 709 | * @param result #GNUNET_OK on success, |
705 | * GNUNET_NO if helper process died | 710 | * #GNUNET_NO if helper process died |
706 | * GNUNET_SYSERR during GNUNET_HELPER_stop | 711 | * #GNUNET_SYSERR during GNUNET_HELPER_stop() |
707 | */ | 712 | */ |
708 | static void | 713 | static void |
709 | clear_msg (void *cls, int result) | 714 | clear_msg (void *cls, int result) |
@@ -761,7 +766,6 @@ TST_interpreter_send_barrier_crossable (struct GNUNET_TESTING_Interpreter *is, | |||
761 | struct CommandBarrierCrossable *adm; | 766 | struct CommandBarrierCrossable *adm; |
762 | size_t msg_length; | 767 | size_t msg_length; |
763 | size_t name_len; | 768 | size_t name_len; |
764 | char *terminator = "\0"; | ||
765 | 769 | ||
766 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 770 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
767 | "send barrier name %s barrier_name\n", | 771 | "send barrier name %s barrier_name\n", |
@@ -813,7 +817,6 @@ TST_interpreter_finish_attached_cmds (struct GNUNET_TESTING_Interpreter *is, | |||
813 | const char *barrier_name) | 817 | const char *barrier_name) |
814 | { | 818 | { |
815 | struct CommandListEntry *pos; | 819 | struct CommandListEntry *pos; |
816 | struct FreeBarrierNodeCbCls *free_barrier_node_cb_cls; | ||
817 | struct GNUNET_TESTING_Barrier *barrier = TST_interpreter_get_barrier (is, | 820 | struct GNUNET_TESTING_Barrier *barrier = TST_interpreter_get_barrier (is, |
818 | barrier_name); | 821 | barrier_name); |
819 | 822 | ||
@@ -846,17 +849,18 @@ TST_interpreter_finish_attached_cmds (struct GNUNET_TESTING_Interpreter *is, | |||
846 | } | 849 | } |
847 | if (NULL != barrier->nodes) | 850 | if (NULL != barrier->nodes) |
848 | { | 851 | { |
849 | free_barrier_node_cb_cls = GNUNET_new (struct FreeBarrierNodeCbCls); | 852 | struct FreeBarrierNodeCbCls free_barrier_node_cb_cls = { |
850 | free_barrier_node_cb_cls->barrier = barrier; | 853 | .barrier = barrier, |
851 | free_barrier_node_cb_cls->is = is; | 854 | .is = is |
855 | }; | ||
856 | |||
852 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 857 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
853 | "freeing nodes\n"); | 858 | "freeing nodes\n"); |
854 | GNUNET_CONTAINER_multishortmap_iterate (barrier->nodes, | 859 | GNUNET_CONTAINER_multishortmap_iterate (barrier->nodes, |
855 | free_barrier_node_cb, | 860 | &free_barrier_node_cb, |
856 | free_barrier_node_cb_cls); | 861 | &free_barrier_node_cb_cls); |
857 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 862 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
858 | "nodes freed\n"); | 863 | "nodes freed\n"); |
859 | GNUNET_free (free_barrier_node_cb_cls); | ||
860 | GNUNET_CONTAINER_multishortmap_destroy (barrier->nodes); | 864 | GNUNET_CONTAINER_multishortmap_destroy (barrier->nodes); |
861 | barrier->nodes = NULL; | 865 | barrier->nodes = NULL; |
862 | } | 866 | } |