aboutsummaryrefslogtreecommitdiff
path: root/src/testing/testing_api_loop.c
diff options
context:
space:
mode:
authorChristian Grothoff <grothoff@gnunet.org>2023-08-15 21:41:31 +0200
committerChristian Grothoff <grothoff@gnunet.org>2023-08-15 21:42:52 +0200
commitecfbd79c029090dfbc657194adae2d229273fb9d (patch)
treeecf018cabed401aad699e7cfeaf1e6f9050dd95e /src/testing/testing_api_loop.c
parent3c5eb7a406b3b0d2b47c00eabbff7a3984ce3429 (diff)
downloadgnunet-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.c38
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
126const struct GNUNET_TESTING_Command * 126static const struct GNUNET_TESTING_Command *
127get_command (struct GNUNET_TESTING_Interpreter *is, 127get_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
268int 268static int
269free_barriers_cb (void *cls, 269free_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 */
708static void 713static void
709clear_msg (void *cls, int result) 714clear_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 }