improve test shutdown and indentation
authorChristian Grothoff <christian@grothoff.org>
Fri, 21 Oct 2016 14:26:15 +0000 (14:26 +0000)
committerChristian Grothoff <christian@grothoff.org>
Fri, 21 Oct 2016 14:26:15 +0000 (14:26 +0000)
src/curl/curl.c
src/statistics/statistics_api.c
src/statistics/test_statistics_api.c
src/statistics/test_statistics_api_loop.c

index d21b88d8f037b53ad2da9e0723c206d96e1ac915..6087cbddba566b70e8e2dd4e88881bd2843f7e66 100644 (file)
@@ -407,7 +407,6 @@ download_get_result (struct DownloadBuffer *db,
     }
     return NULL;
   }
-
   json = NULL;
   if (0 == db->eno)
   {
index e8aa9cf9c55a5d8d65c7ca3c0c8502ece81ebc88..bfa2da3b4d6cc33eab880299b7c6451ab068c7eb 100644 (file)
@@ -1015,7 +1015,7 @@ schedule_action (void *cls)
     return;
   }
   if (0 < GNUNET_MQ_get_length (h->mq))
-    return; /* Wait for queue to be reduced more */
+    return; /* Wait for queue to be reduced more */    
   /* schedule next action */
   while (NULL == h->current)
   {
@@ -1253,8 +1253,10 @@ add_setter_action (struct GNUNET_STATISTICS_Handle *h,
   }
   for (ai = h->action_head; NULL != ai; ai = ai->next)
   {
-    if (! ( (0 == strcmp (ai->subsystem, h->subsystem)) &&
-           (0 == strcmp (ai->name, name)) &&
+    if (! ( (0 == strcmp (ai->subsystem,
+                         h->subsystem)) &&
+           (0 == strcmp (ai->name,
+                         name)) &&
            ( (ACTION_UPDATE == ai->type) ||
              (ACTION_SET == ai->type) ) ) )
       continue;
index 0c7bb3488d147c8bc39c4296516f1ff1b1cf9c93..41f1ef562be2d42ba0a2a8341c43abdaf1502809 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     Copyright (C) 2009, 2012 GNUnet e.V.
+     Copyright (C) 2009, 2012, 2016 GNUnet e.V.
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
 
 static struct GNUNET_STATISTICS_Handle *h;
 
+static struct GNUNET_STATISTICS_GetHandle *g;
+
+
+static void
+do_shutdown ()
+{
+  if (NULL != g)
+  {
+    GNUNET_STATISTICS_get_cancel (g);
+    g = NULL;
+  }
+  GNUNET_STATISTICS_destroy (h, GNUNET_NO);
+  h = NULL;
+}
+
 
 static int
 check_1 (void *cls,
@@ -96,7 +111,8 @@ next_fin (void *cls,
 {
   int *ok = cls;
 
-  GNUNET_STATISTICS_destroy (h, GNUNET_NO);
+  g = NULL;
+  GNUNET_SCHEDULER_shutdown ();
   GNUNET_assert (success == GNUNET_OK);
   *ok = 0;
 }
@@ -105,6 +121,7 @@ next_fin (void *cls,
 static void
 next (void *cls, int success)
 {
+  g = NULL;
   GNUNET_assert (success == GNUNET_OK);
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
               "Issuing GET request\n");
@@ -122,15 +139,23 @@ run (void *cls,
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
   h = GNUNET_STATISTICS_create ("test-statistics-api", cfg);
+  if (NULL == h)
+  {
+    GNUNET_break (0);
+    return;
+  }
+  GNUNET_SCHEDULER_add_shutdown (&do_shutdown,
+                                NULL);
   GNUNET_STATISTICS_set (h, "test-1", 1, GNUNET_NO);
   GNUNET_STATISTICS_set (h, "test-2", 2, GNUNET_NO);
   GNUNET_STATISTICS_set (h, "test-3", 2, GNUNET_NO);
   GNUNET_STATISTICS_update (h, "test-3", 1, GNUNET_YES);
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Issuing GET request\n");
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+             "Issuing GET request\n");
   GNUNET_break (NULL !=
-                GNUNET_STATISTICS_get (h, NULL, "test-1",
-                                       &next,
-                                       &check_1, cls));
+                (g = GNUNET_STATISTICS_get (h, NULL, "test-1",
+                                           &next,
+                                           &check_1, cls)));
 }
 
 
@@ -142,11 +167,13 @@ run_more (void *cls,
 {
   h = GNUNET_STATISTICS_create ("test-statistics-api",
                                 cfg);
+  GNUNET_SCHEDULER_add_shutdown (&do_shutdown,
+                                NULL);
   GNUNET_break (NULL !=
-                GNUNET_STATISTICS_get (h, NULL,
-                                       "test-3",
-                                       &next_fin,
-                                       &check_3, cls));
+                (g = GNUNET_STATISTICS_get (h, NULL,
+                                           "test-3",
+                                           &next_fin,
+                                           &check_3, cls)));
 }
 
 
index a7e2cbab509a85bcf6bbb04a0dd51ecfe2b126cb..a1664cde5505d633dd7836820069c65f168219bd 100644 (file)
@@ -31,7 +31,10 @@ static struct GNUNET_STATISTICS_Handle *h;
 
 
 static int
-check_1 (void *cls, const char *subsystem, const char *name, uint64_t value,
+check_1 (void *cls,
+        const char *subsystem,
+        const char *name,
+        uint64_t value,
          int is_persistent)
 {
   GNUNET_assert (0 == strcmp (name, "test-0"));
@@ -42,7 +45,8 @@ check_1 (void *cls, const char *subsystem, const char *name, uint64_t value,
 
 
 static void
-next (void *cls, int success)
+next (void *cls,
+      int success)
 {
   int *ok = cls;
 
@@ -53,7 +57,9 @@ next (void *cls, int success)
 
 
 static void
-run (void *cls, char *const *args, const char *cfgfile,
+run (void *cls,
+     char *const *args,
+     const char *cfgfile,
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
   unsigned int i;
@@ -62,9 +68,9 @@ run (void *cls, char *const *args, const char *cfgfile,
   h = GNUNET_STATISTICS_create ("test-statistics-api-loop", cfg);
   for (i = 0; i < ROUNDS; i++)
   {
-    GNUNET_snprintf (name, sizeof (name), "test-%d", i % 256);
+    GNUNET_snprintf (name, sizeof (name), "test-%d", i % 32);
     GNUNET_STATISTICS_set (h, name, i, GNUNET_NO);
-    GNUNET_snprintf (name, sizeof (name), "test-%d", i % 128);
+    GNUNET_snprintf (name, sizeof (name), "test-%d", i % 16);
     GNUNET_STATISTICS_update (h, name, 1, GNUNET_NO);
   }
   i = 0;