does not terminate on invalid uri
[oweals/gnunet.git] / src / mesh / mesh_test_lib.c
index 7aabc4f7712344c7340482106c809130b3eaf28e..cec74f2b51697e384ef552aa9a47c2ada65c831f 100644 (file)
@@ -23,7 +23,9 @@
  * @brief library for writing MESH tests
  */
 #include "platform.h"
+#include "gnunet_util_lib.h"
 #include "mesh_test_lib.h"
+#include "gnunet_mesh_service.h"
 
 /**
  * Test context for a MESH Test.
@@ -63,17 +65,17 @@ struct GNUNET_MESH_TEST_Context
   /**
    * Handler for incoming tunnels.
    */
-  GNUNET_MESH_InboundTunnelNotificationHandler new_tunnel;
+  GNUNET_MESH_InboundTunnelNotificationHandler *new_tunnel;
 
   /**
    * Cleaner for destroyed incoming tunnels.
    */
-  GNUNET_MESH_TunnelEndHandler cleaner;
+  GNUNET_MESH_TunnelEndHandler *cleaner;
 
   /**
    * Message handlers.
    */
-  GNUNET_MESH_MessageHandler* handlers;
+  struct GNUNET_MESH_MessageHandler* handlers;
 
   /**
    * Application types.
@@ -199,7 +201,11 @@ GNUNET_MESH_TEST_cleanup (struct GNUNET_MESH_TEST_Context *ctx)
   unsigned int i;
 
   for (i = 0; i < ctx->num_peers; i++)
+  {
+    GNUNET_assert (NULL != ctx->ops[i]);
     GNUNET_TESTBED_operation_done (ctx->ops[i]);
+    ctx->ops[i] = NULL;
+  }
   GNUNET_free (ctx->ops);
   GNUNET_free (ctx->meshes);
   GNUNET_free (ctx);
@@ -266,11 +272,11 @@ GNUNET_MESH_TEST_run (const char *testname,
                       void *tmain_cls,
                       GNUNET_MESH_InboundTunnelNotificationHandler new_tunnel,
                       GNUNET_MESH_TunnelEndHandler cleaner,
-                      GNUNET_MESH_MessageHandler* handlers,
+                      struct GNUNET_MESH_MessageHandler* handlers,
                       const GNUNET_MESH_ApplicationType* stypes)
 {
   struct GNUNET_MESH_TEST_Context *ctx;
-  
+
   ctx = GNUNET_malloc (sizeof (struct GNUNET_MESH_TEST_Context));
   ctx->num_peers = num_peers;
   ctx->ops = GNUNET_malloc (num_peers * sizeof (struct GNUNET_TESTBED_Operation *));