-better time conversion code
[oweals/gnunet.git] / src / util / test_configuration.c
index 637c8ed00094cbd52d3982a2c95e69565e657359..1242a5c8d5b70321fd83d304862819655bd7f5d5 100644 (file)
@@ -4,7 +4,7 @@
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
-     by the Free Software Foundation; either version 2, or (at your
+     by the Free Software Foundation; either version 3, or (at your
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
      option) any later version.
 
      GNUnet is distributed in the hope that it will be useful, but
 #include "platform.h"
 #include "gnunet_common.h"
 #include "gnunet_configuration_lib.h"
 #include "platform.h"
 #include "gnunet_common.h"
 #include "gnunet_configuration_lib.h"
+#include "gnunet_disk_lib.h"
 
 
-/* Directives used for testing Configuration Diffs */
-#define DEBUG GNUNET_NO
-#define CONFIGURATION_DIFFS_PATH "/tmp/gnunet-diff.conf"
-#define EDIT_NOTHING 0
-#define EDIT_SECTION 1
-#define EDIT_ALL 2
-#define ADD_NEW_SECTION 3
-#define ADD_NEW_ENTRY 4
-#define REMOVE_SECTION 5
-#define REMOVE_ENTRY 6
-#define COMPARE 7
-
-#if DEBUG
-#define PRINT 8
-#endif
+
+/* Test Configuration Diffs Options */
+enum
+{
+  EDIT_NOTHING,
+  EDIT_SECTION,
+  EDIT_ALL,
+  ADD_NEW_SECTION,
+  ADD_NEW_ENTRY,
+  REMOVE_SECTION,
+  REMOVE_ENTRY,
+  COMPARE, 
+  PRINT
+};
 
 static struct GNUNET_CONFIGURATION_Handle *cfg;
 static struct GNUNET_CONFIGURATION_Handle *cfgDefault;
 
 static struct GNUNET_CONFIGURATION_Handle *cfg;
 static struct GNUNET_CONFIGURATION_Handle *cfgDefault;
@@ -72,68 +72,81 @@ initDiffsCBData (struct DiffsCBData *cbData)
  * and comparing configuration
 */
 static void
  * and comparing configuration
 */
 static void
-diffsCallBack (void *cls,
-              const char *section, const char *option, const char *value)
+diffsCallBack (void *cls, const char *section, const char *option,
+               const char *value)
 {
   struct DiffsCBData *cbData = cls;
   int cbOption = cbData->callBackOption;
 
   switch (cbOption)
 {
   struct DiffsCBData *cbData = cls;
   int cbOption = cbData->callBackOption;
 
   switch (cbOption)
+  {
+  case EDIT_SECTION:
+    if (NULL == cbData->section)
+      cbData->section = section;
+    if (strcmp (cbData->section, section) == 0)
     {
     {
-    case EDIT_SECTION:
-      if (cbData->section == NULL)
-       cbData->section = section;
-      if (strcmp (cbData->section, section) == 0)
-       {
-         GNUNET_CONFIGURATION_set_value_string (cbData->cfg, section, option,
-                                                "new-value");
-         GNUNET_CONFIGURATION_set_value_string (cbData->cfgDiffs, section,
-                                                option, "new-value");
-       }
-      break;
-    case EDIT_ALL:
       GNUNET_CONFIGURATION_set_value_string (cbData->cfg, section, option,
       GNUNET_CONFIGURATION_set_value_string (cbData->cfg, section, option,
-                                            "new-value");
+                                             "new-value");
+      GNUNET_CONFIGURATION_set_value_string (cbData->cfgDiffs, section, option,
+                                             "new-value");
+    }
+    break;
+  case EDIT_ALL:
+    GNUNET_CONFIGURATION_set_value_string (cbData->cfg, section, option,
+                                           "new-value");
+    GNUNET_CONFIGURATION_set_value_string (cbData->cfgDiffs, section, option,
+                                           "new-value");
+    break;
+  case ADD_NEW_ENTRY:
+  {
+    static int hit = 0;
+
+    if (hit == 0)
+    {
+      hit = 1;
+      GNUNET_CONFIGURATION_set_value_string (cbData->cfg, section, "new-key",
+                                             "new-value");
       GNUNET_CONFIGURATION_set_value_string (cbData->cfgDiffs, section,
       GNUNET_CONFIGURATION_set_value_string (cbData->cfgDiffs, section,
-                                            option, "new-value");
-      break;
-    case ADD_NEW_ENTRY:
-      {
-       static int hit = 0;
-       if (hit == 0)
-         {
-           hit = 1;
-           GNUNET_CONFIGURATION_set_value_string (cbData->cfg, section,
-                                                  "new-key", "new-value");
-           GNUNET_CONFIGURATION_set_value_string (cbData->cfgDiffs, section,
-                                                  "new-key", "new-value");
-         }
-       break;
-      }
-    case COMPARE:
-      {
-       int ret;
-       char *diffValue;
-       ret =
-         GNUNET_CONFIGURATION_get_value_string (cbData->cfgDiffs, section,
-                                                option, &diffValue);
-       if (ret == GNUNET_SYSERR || diffValue == NULL
-           || strcmp (diffValue, value) != 0)
-         cbData->status = 1;
-       break;
-      }
-#if DEBUG
-    case PRINT:
-      if (cbData->section == NULL || strcmp (cbData->section, section) != 0)
-       {
-         cbData->section = section;
-         printf ("\nSection: %s\n", section);
-       }
-      printf ("%s = %s\n", option, value);
-#endif
-    default:
-      break;
+                                             "new-key", "new-value");
     }
     }
+    break;
+  }
+  case COMPARE:
+  {
+    int ret;
+    char *diffValue;
+
+    diffValue = NULL;
+    ret =
+        GNUNET_CONFIGURATION_get_value_string (cbData->cfgDiffs, section,
+                                               option, &diffValue);
+    if (NULL != diffValue)
+    {
+      if (ret == GNUNET_SYSERR || strcmp (diffValue, value) != 0)
+        cbData->status = 1;
+    }
+    else
+      cbData->status = 1;
+    GNUNET_free_non_null (diffValue);
+    break;
+  }
+#if 0
+  case PRINT:
+    if (NULL == cbData->section)
+    {
+      cbData->section = section;
+      printf ("\nSection: %s\n", section);
+    }
+    else if (strcmp (cbData->section, section) != 0)
+    {
+      cbData->section = section;
+      printf ("\nSection: %s\n", section);
+    }
+    printf ("%s = %s\n", option, value);
+#endif
+  default:
+    break;
+  }
 }
 
 
 }
 
 
@@ -141,43 +154,45 @@ static struct GNUNET_CONFIGURATION_Handle *
 editConfiguration (struct GNUNET_CONFIGURATION_Handle *cfg, int option)
 {
   struct DiffsCBData diffsCB;
 editConfiguration (struct GNUNET_CONFIGURATION_Handle *cfg, int option)
 {
   struct DiffsCBData diffsCB;
+
   initDiffsCBData (&diffsCB);
   diffsCB.cfgDiffs = GNUNET_CONFIGURATION_create ();
 
   switch (option)
   initDiffsCBData (&diffsCB);
   diffsCB.cfgDiffs = GNUNET_CONFIGURATION_create ();
 
   switch (option)
+  {
+  case EDIT_SECTION:
+  case EDIT_ALL:
+  case ADD_NEW_ENTRY:
+    diffsCB.callBackOption = option;
+    diffsCB.cfg = cfg;
+    GNUNET_CONFIGURATION_iterate (cfg, diffsCallBack, &diffsCB);
+    break;
+  case EDIT_NOTHING:
+    /* Do nothing */
+    break;
+  case ADD_NEW_SECTION:
+  {
+    int i;
+    char *key;
+
+    for (i = 0; i < 5; i++)
     {
     {
-    case EDIT_SECTION:
-    case EDIT_ALL:
-    case ADD_NEW_ENTRY:
-      diffsCB.callBackOption = option;
-      diffsCB.cfg = cfg;
-      GNUNET_CONFIGURATION_iterate (cfg, diffsCallBack, &diffsCB);
-      break;
-    case EDIT_NOTHING:
-      /* Do nothing */
-      break;
-    case ADD_NEW_SECTION:
-      {
-       int i = 0;
-       char *key;
-       for (; i < 5; i++)
-         {
-           GNUNET_asprintf (&key, "key%d", i);
-           GNUNET_CONFIGURATION_set_value_string (cfg, "new-section", key,
-                                                  "new-value");
-           GNUNET_CONFIGURATION_set_value_string (diffsCB.cfgDiffs,
-                                                  "new-section", key,
-                                                  "new-value");
-         }
-       break;
-      }
-    case REMOVE_SECTION:
-      break;
-    case REMOVE_ENTRY:
-      break;
-    default:
-      break;
+      GNUNET_asprintf (&key, "key%d", i);
+      GNUNET_CONFIGURATION_set_value_string (cfg, "new-section", key,
+                                             "new-value");
+      GNUNET_CONFIGURATION_set_value_string (diffsCB.cfgDiffs, "new-section",
+                                             key, "new-value");
+      GNUNET_free (key);
     }
     }
+    break;
+  }
+  case REMOVE_SECTION:
+    break;
+  case REMOVE_ENTRY:
+    break;
+  default:
+    break;
+  }
 
   return diffsCB.cfgDiffs;
 }
 
   return diffsCB.cfgDiffs;
 }
@@ -188,40 +203,52 @@ editConfiguration (struct GNUNET_CONFIGURATION_Handle *cfg, int option)
 static int
 checkDiffs (struct GNUNET_CONFIGURATION_Handle *cfgDefault, int option)
 {
 static int
 checkDiffs (struct GNUNET_CONFIGURATION_Handle *cfgDefault, int option)
 {
-  struct GNUNET_CONFIGURATION_Handle *cfg, *cfgDiffs;
+  struct GNUNET_CONFIGURATION_Handle *cfg;
+  struct GNUNET_CONFIGURATION_Handle *cfgDiffs;
   struct DiffsCBData cbData;
   struct DiffsCBData cbData;
+  int ret;
+  char *diffsFileName;
+
   initDiffsCBData (&cbData);
   initDiffsCBData (&cbData);
-  int ret = 0;
 
   cfg = GNUNET_CONFIGURATION_create ();
 
   cfg = GNUNET_CONFIGURATION_create ();
-  GNUNET_CONFIGURATION_load (cfg, NULL);
+  /* load defaults */
+  GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_load (cfg, NULL));
 
   /* Modify configuration and save it */
   cfgDiffs = editConfiguration (cfg, option);
 
   /* Modify configuration and save it */
   cfgDiffs = editConfiguration (cfg, option);
-  GNUNET_CONFIGURATION_write_diffs (cfgDefault, cfg,
-                                   CONFIGURATION_DIFFS_PATH);
+  diffsFileName = GNUNET_DISK_mktemp ("gnunet-test-configurations-diffs.conf");
+  if (diffsFileName == NULL)
+  {
+    GNUNET_break (0);
+    GNUNET_CONFIGURATION_destroy (cfg);
+    GNUNET_CONFIGURATION_destroy (cfgDiffs);
+    return 1;
+  }
+  GNUNET_CONFIGURATION_write_diffs (cfgDefault, cfg, diffsFileName);
   GNUNET_CONFIGURATION_destroy (cfg);
 
   /* Compare the dumped configuration with modifications done */
   cfg = GNUNET_CONFIGURATION_create ();
   GNUNET_CONFIGURATION_destroy (cfg);
 
   /* Compare the dumped configuration with modifications done */
   cfg = GNUNET_CONFIGURATION_create ();
-  GNUNET_CONFIGURATION_parse (cfg, CONFIGURATION_DIFFS_PATH);
+  GNUNET_assert (GNUNET_OK == GNUNET_CONFIGURATION_parse (cfg, diffsFileName));
+  remove (diffsFileName);
   cbData.callBackOption = COMPARE;
   cbData.cfgDiffs = cfgDiffs;
   GNUNET_CONFIGURATION_iterate (cfg, diffsCallBack, &cbData);
   cbData.callBackOption = COMPARE;
   cbData.cfgDiffs = cfgDiffs;
   GNUNET_CONFIGURATION_iterate (cfg, diffsCallBack, &cbData);
-  if ((ret = cbData.status) == 1)
-    {
-      fprintf (stderr,
-              "Incorrect Configuration Diffs: Diffs may contain data not actually edited\n");
-      goto housekeeping;
-    }
+  if (1 == (ret = cbData.status))
+  {
+    FPRINTF (stderr, "%s", 
+             "Incorrect Configuration Diffs: Diffs may contain data not actually edited\n");
+    goto housekeeping;
+  }
   cbData.cfgDiffs = cfg;
   GNUNET_CONFIGURATION_iterate (cfgDiffs, diffsCallBack, &cbData);
   if ((ret = cbData.status) == 1)
   cbData.cfgDiffs = cfg;
   GNUNET_CONFIGURATION_iterate (cfgDiffs, diffsCallBack, &cbData);
   if ((ret = cbData.status) == 1)
-    fprintf (stderr,
-            "Incorrect Configuration Diffs: Data may be missing in diffs\n");
+    FPRINTF (stderr, "%s", 
+             "Incorrect Configuration Diffs: Data may be missing in diffs\n");
 
 housekeeping:
 
 housekeeping:
-#if DEBUG
+#if 0
   cbData.section = NULL;
   cbData.callBackOption = PRINT;
   printf ("\nExpected Diffs:\n");
   cbData.section = NULL;
   cbData.callBackOption = PRINT;
   printf ("\nExpected Diffs:\n");
@@ -232,6 +259,7 @@ housekeeping:
 #endif
   GNUNET_CONFIGURATION_destroy (cfg);
   GNUNET_CONFIGURATION_destroy (cfgDiffs);
 #endif
   GNUNET_CONFIGURATION_destroy (cfg);
   GNUNET_CONFIGURATION_destroy (cfgDiffs);
+  GNUNET_free (diffsFileName);
   return ret;
 }
 
   return ret;
 }
 
@@ -242,50 +270,77 @@ testConfig ()
   char *c;
   unsigned long long l;
 
   char *c;
   unsigned long long l;
 
-  if (GNUNET_OK !=
-      GNUNET_CONFIGURATION_get_value_string (cfg, "test", "b", &c))
+  if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_string (cfg, "test", "b", &c))
     return 1;
   if (0 != strcmp ("b", c))
     return 1;
   if (0 != strcmp ("b", c))
-    {
-      fprintf (stderr, "Got `%s'\n", c);
-      GNUNET_free (c);
-      return 2;
-    }
+  {
+    FPRINTF (stderr, "Got `%s'\n", c);
+    GNUNET_free (c);
+    return 2;
+  }
   GNUNET_free (c);
   GNUNET_free (c);
-  if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_number (cfg,
-                                                         "test", "five", &l))
+  if (GNUNET_OK !=
+      GNUNET_CONFIGURATION_get_value_number (cfg, "test", "five", &l))
+  {
+    GNUNET_break (0);
     return 3;
     return 3;
+  }
   if (5 != l)
   if (5 != l)
+  {
+    GNUNET_break (0);
     return 4;
     return 4;
+  }
   GNUNET_CONFIGURATION_set_value_string (cfg, "more", "c", "YES");
   if (GNUNET_NO == GNUNET_CONFIGURATION_get_value_yesno (cfg, "more", "c"))
   GNUNET_CONFIGURATION_set_value_string (cfg, "more", "c", "YES");
   if (GNUNET_NO == GNUNET_CONFIGURATION_get_value_yesno (cfg, "more", "c"))
+  {
+    GNUNET_break (0);
     return 5;
     return 5;
+  }
   GNUNET_CONFIGURATION_set_value_number (cfg, "NUMBERS", "TEN", 10);
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_string (cfg, "NUMBERS", "TEN", &c))
   GNUNET_CONFIGURATION_set_value_number (cfg, "NUMBERS", "TEN", 10);
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_string (cfg, "NUMBERS", "TEN", &c))
+  {
+    GNUNET_break (0);
     return 6;
     return 6;
+  }
   if (0 != strcmp (c, "10"))
   if (0 != strcmp (c, "10"))
-    {
-      GNUNET_free (c);
-      return 7;
-    }
+  {
+    GNUNET_free (c);
+    GNUNET_break (0);
+    return 7;
+  }
   GNUNET_free (c);
 
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_filename (cfg, "last", "test", &c))
   GNUNET_free (c);
 
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_get_value_filename (cfg, "last", "test", &c))
+  {
+    GNUNET_break (0);
     return 8;
     return 8;
+  }
 #ifndef MINGW
   if (0 != strcmp (c, "/hello/world"))
 #else
 #define HI "\\hello\\world"
   if (strstr (c, HI) != c + strlen (c) - strlen (HI))
 #endif
 #ifndef MINGW
   if (0 != strcmp (c, "/hello/world"))
 #else
 #define HI "\\hello\\world"
   if (strstr (c, HI) != c + strlen (c) - strlen (HI))
 #endif
-    {
-      GNUNET_free (c);
-      return 9;
-    }
+  {
+    GNUNET_break (0);
+    GNUNET_free (c);
+    return 9;
+  }
   GNUNET_free (c);
 
   GNUNET_free (c);
 
+  if (GNUNET_OK !=
+      GNUNET_CONFIGURATION_get_value_size (cfg, "last", "size", &l))
+  {
+    GNUNET_break (0);
+    return 10;
+  }
+  if (l != 512 * 1024)
+  {
+    GNUNET_break (0);
+    return 11;
+  }
   return 0;
 }
 
   return 0;
 }
 
@@ -303,10 +358,11 @@ check (void *data, const char *fn)
   int *idx = data;
 
   if (0 == strcmp (want[*idx], fn))
   int *idx = data;
 
   if (0 == strcmp (want[*idx], fn))
-    {
-      (*idx)++;
-      return GNUNET_OK;
-    }
+  {
+    (*idx)++;
+    return GNUNET_OK;
+  }
+  GNUNET_break (0);
   return GNUNET_SYSERR;
 }
 
   return GNUNET_SYSERR;
 }
 
@@ -316,64 +372,85 @@ testConfigFilenames ()
   int idx;
 
   idx = 0;
   int idx;
 
   idx = 0;
-  if (3 != GNUNET_CONFIGURATION_iterate_value_filenames (cfg,
-                                                        "FILENAMES",
-                                                        "test",
-                                                        &check, &idx))
+  if (3 !=
+      GNUNET_CONFIGURATION_iterate_value_filenames (cfg, "FILENAMES", "test",
+                                                    &check, &idx))
+  {
+    GNUNET_break (0);
     return 8;
     return 8;
+  }
   if (idx != 3)
     return 16;
   if (GNUNET_OK !=
   if (idx != 3)
     return 16;
   if (GNUNET_OK !=
-      GNUNET_CONFIGURATION_remove_value_filename (cfg,
-                                                 "FILENAMES",
-                                                 "test", "/File Name"))
+      GNUNET_CONFIGURATION_remove_value_filename (cfg, "FILENAMES", "test",
+                                                  "/File Name"))
+  {
+    GNUNET_break (0);
     return 24;
     return 24;
+  }
 
   if (GNUNET_NO !=
 
   if (GNUNET_NO !=
-      GNUNET_CONFIGURATION_remove_value_filename (cfg,
-                                                 "FILENAMES",
-                                                 "test", "/File Name"))
+      GNUNET_CONFIGURATION_remove_value_filename (cfg, "FILENAMES", "test",
+                                                  "/File Name"))
+  {
+    GNUNET_break (0);
     return 32;
     return 32;
+  }
   if (GNUNET_NO !=
   if (GNUNET_NO !=
-      GNUNET_CONFIGURATION_remove_value_filename (cfg,
-                                                 "FILENAMES",
-                                                 "test", "Stuff"))
+      GNUNET_CONFIGURATION_remove_value_filename (cfg, "FILENAMES", "test",
+                                                  "Stuff"))
+  {
+    GNUNET_break (0);
     return 40;
     return 40;
+  }
 
   if (GNUNET_NO !=
 
   if (GNUNET_NO !=
-      GNUNET_CONFIGURATION_append_value_filename (cfg,
-                                                 "FILENAMES",
-                                                 "test", "/Hello"))
+      GNUNET_CONFIGURATION_append_value_filename (cfg, "FILENAMES", "test",
+                                                  "/Hello"))
+  {
+    GNUNET_break (0);
     return 48;
     return 48;
+  }
   if (GNUNET_NO !=
   if (GNUNET_NO !=
-      GNUNET_CONFIGURATION_append_value_filename (cfg,
-                                                 "FILENAMES",
-                                                 "test", "/World"))
+      GNUNET_CONFIGURATION_append_value_filename (cfg, "FILENAMES", "test",
+                                                  "/World"))
+  {
+    GNUNET_break (0);
     return 56;
     return 56;
+  }
 
   if (GNUNET_YES !=
 
   if (GNUNET_YES !=
-      GNUNET_CONFIGURATION_append_value_filename (cfg,
-                                                 "FILENAMES",
-                                                 "test", "/File 1"))
+      GNUNET_CONFIGURATION_append_value_filename (cfg, "FILENAMES", "test",
+                                                  "/File 1"))
+  {
+    GNUNET_break (0);
     return 64;
     return 64;
+  }
 
   if (GNUNET_YES !=
 
   if (GNUNET_YES !=
-      GNUNET_CONFIGURATION_append_value_filename (cfg,
-                                                 "FILENAMES",
-                                                 "test", "/File 2"))
+      GNUNET_CONFIGURATION_append_value_filename (cfg, "FILENAMES", "test",
+                                                  "/File 2"))
+  {
+    GNUNET_break (0);
     return 72;
     return 72;
+  }
 
   idx = 0;
   want[1] = "/World";
   want[2] = "/File 1";
   want[3] = "/File 2";
 
   idx = 0;
   want[1] = "/World";
   want[2] = "/File 1";
   want[3] = "/File 2";
-  if (4 != GNUNET_CONFIGURATION_iterate_value_filenames (cfg,
-                                                        "FILENAMES",
-                                                        "test",
-                                                        &check, &idx))
+  if (4 !=
+      GNUNET_CONFIGURATION_iterate_value_filenames (cfg, "FILENAMES", "test",
+                                                    &check, &idx))
+  {
+    GNUNET_break (0);
     return 80;
     return 80;
+  }
   if (idx != 4)
   if (idx != 4)
+  {
+    GNUNET_break (0);
     return 88;
     return 88;
+  }
   return 0;
 }
 
   return 0;
 }
 
@@ -389,57 +466,62 @@ main (int argc, char *argv[])
   GNUNET_assert (cfg != NULL);
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_parse (cfg, "test_configuration_data.conf"))
   GNUNET_assert (cfg != NULL);
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_parse (cfg, "test_configuration_data.conf"))
-    {
-      fprintf (stderr, "Failed to parse configuration file\n");
-      GNUNET_CONFIGURATION_destroy (cfg);
-      return 1;
-    }
+  {
+    FPRINTF (stderr, "%s",  "Failed to parse configuration file\n");
+    GNUNET_CONFIGURATION_destroy (cfg);
+    return 1;
+  }
   failureCount += testConfig ();
   failureCount += testConfig ();
-  failureCount += 2 * testConfigFilenames ();
+  if (failureCount > 0)
+    goto error;
+
+  failureCount = testConfigFilenames ();
+  if (failureCount > 0)
+    goto error;
 
   if (GNUNET_OK != GNUNET_CONFIGURATION_write (cfg, "/tmp/gnunet-test.conf"))
 
   if (GNUNET_OK != GNUNET_CONFIGURATION_write (cfg, "/tmp/gnunet-test.conf"))
-    {
-      fprintf (stderr, "Failed to write configuration file\n");
-      GNUNET_CONFIGURATION_destroy (cfg);
-      return 1;
-    }
+  {
+    FPRINTF (stderr, "%s",  "Failed to write configuration file\n");
+    GNUNET_CONFIGURATION_destroy (cfg);
+    return 1;
+  }
   GNUNET_CONFIGURATION_destroy (cfg);
   GNUNET_assert (0 == UNLINK ("/tmp/gnunet-test.conf"));
 
   cfg = GNUNET_CONFIGURATION_create ();
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_load (cfg, "test_configuration_data.conf"))
   GNUNET_CONFIGURATION_destroy (cfg);
   GNUNET_assert (0 == UNLINK ("/tmp/gnunet-test.conf"));
 
   cfg = GNUNET_CONFIGURATION_create ();
   if (GNUNET_OK !=
       GNUNET_CONFIGURATION_load (cfg, "test_configuration_data.conf"))
-    {
-      GNUNET_break (0);
-      GNUNET_CONFIGURATION_destroy (cfg);
-      return 1;
-    }
-  if ((GNUNET_OK !=
-       GNUNET_CONFIGURATION_get_value_string (cfg, "TESTING", "WEAKRANDOM",
-                                             &c))
-      || (0 != strcmp (c, "YES")))
-    {
-      GNUNET_CONFIGURATION_destroy (cfg);
-      return 1;
-    }
-  GNUNET_free (c);
-  if ((GNUNET_OK !=
-       GNUNET_CONFIGURATION_get_value_string (cfg, "PATHS", "SERVICEHOME",
-                                             &c))
-      || (0 != strcmp (c, "/var/lib/gnunet/")))
-    {
-      GNUNET_CONFIGURATION_destroy (cfg);
-      return 1;
-    }
+  {
+    GNUNET_break (0);
+    GNUNET_CONFIGURATION_destroy (cfg);
+    return 1;
+  }
+  if (GNUNET_OK !=
+      GNUNET_CONFIGURATION_get_value_string (cfg, "TESTING", "WEAKRANDOM", &c))
+  {
+    GNUNET_break (0);
+    GNUNET_CONFIGURATION_destroy (cfg);
+    return 1;
+  }
+  if (0 != strcmp (c, "YES"))
+  {
+    GNUNET_break (0);
+    GNUNET_free (c);
+    GNUNET_CONFIGURATION_destroy (cfg);
+    return 1;
+  }
+
   GNUNET_free (c);
   GNUNET_CONFIGURATION_destroy (cfg);
 
   /* Testing configuration diffs */
   cfgDefault = GNUNET_CONFIGURATION_create ();
   GNUNET_free (c);
   GNUNET_CONFIGURATION_destroy (cfg);
 
   /* Testing configuration diffs */
   cfgDefault = GNUNET_CONFIGURATION_create ();
-  if (GNUNET_CONFIGURATION_load (cfgDefault, NULL) == GNUNET_SYSERR)
-    {
-      printf ("\n Error! \n");
-    }
+  if (GNUNET_OK != GNUNET_CONFIGURATION_load (cfgDefault, NULL))
+  {
+    GNUNET_break (0);
+    GNUNET_CONFIGURATION_destroy (cfgDefault);
+    return 1;
+  }
 
   /* Nothing changed in the new configuration */
   failureCount += checkDiffs (cfgDefault, EDIT_NOTHING);
 
   /* Nothing changed in the new configuration */
   failureCount += checkDiffs (cfgDefault, EDIT_NOTHING);
@@ -458,10 +540,11 @@ main (int argc, char *argv[])
 
   GNUNET_CONFIGURATION_destroy (cfgDefault);
 
 
   GNUNET_CONFIGURATION_destroy (cfgDefault);
 
+error:
   if (failureCount != 0)
   if (failureCount != 0)
-    {
-      fprintf (stderr, "Test failed: %u\n", failureCount);
-      return 1;
-    }
+  {
+    FPRINTF (stderr, "Test failed: %u\n", failureCount);
+    return 1;
+  }
   return 0;
 }
   return 0;
 }