unset XDG environment variable during testcases, as they can screw things up badly
[oweals/gnunet.git] / src / peerstore / test_peerstore_api_store.c
index d3579947b021441631442f1ba72138ad8c45a99b..bfe1b5b55dfb362616e0ef8e3f83c94465f9ccde 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C)
+     Copyright (C) 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
 
      You should have received a copy of the GNU General Public License
      along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
+     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+     Boston, MA 02110-1301, USA.
 */
 /**
- * @file peerstore/test_peerstore_api.c
- * @brief testcase for peerstore_api.c
+ * @file peerstore/test_peerstore_api_store.c
+ * @brief testcase for peerstore store operation
  */
 #include "platform.h"
-#include "gnunet_util_lib.h"
-#include "gnunet_testing_lib.h"
 #include "gnunet_peerstore_service.h"
+#include "gnunet_testing_lib.h"
+
 
 static int ok = 1;
 
-struct GNUNET_PEERSTORE_Handle *h;
+static struct GNUNET_PEERSTORE_Handle *h;
 
-char *subsystem = "test_peerstore_api_store";
-struct GNUNET_PeerIdentity pid;
-char *key = "test_peerstore_api_store_key";
-char *val1 = "test_peerstore_api_store_val1";
-char *val2 = "test_peerstore_api_store_val2-";
-char *val3 = "test_peerstore_api_store_val3--";
+static char *subsystem = "test_peerstore_api_store";
+static struct GNUNET_PeerIdentity pid;
+static char *key = "test_peerstore_api_store_key";
+static char *val1 = "test_peerstore_api_store_val1";
+static char *val2 = "test_peerstore_api_store_val2-";
+static char *val3 = "test_peerstore_api_store_val3--";
 
-int count = 0;
+static int count = 0;
 
-int test3_cont2(void *cls,
-    struct GNUNET_PEERSTORE_Record *record,
-    char *emsg)
+static void
+test3_cont2 (void *cls,
+             const struct GNUNET_PEERSTORE_Record *record,
+             const char *emsg)
 {
-  if(NULL != emsg)
-    return GNUNET_NO;
-  if(NULL != record)
+  if (NULL != emsg)
+    return;
+  if (NULL != record)
   {
-    GNUNET_assert((strlen(val3) + 1) == record->value_size);
-    GNUNET_assert(0 == strcmp((char *)val3, (char *)record->value));
+    GNUNET_assert ((strlen (val3) + 1) == record->value_size);
+    GNUNET_assert (0 == strcmp ((char *) val3, (char *) record->value));
     count++;
-    return GNUNET_YES;
+    return;
   }
-  GNUNET_assert(count == 1);
+  GNUNET_assert (count == 1);
   ok = 0;
-  GNUNET_PEERSTORE_disconnect(h);
-  GNUNET_SCHEDULER_shutdown();
-  return GNUNET_YES;
+  GNUNET_PEERSTORE_disconnect (h, GNUNET_YES);
+  GNUNET_SCHEDULER_shutdown ();
 }
 
+
 static void
-test3_cont(void *cls, int success)
+test3_cont (void *cls, int success)
 {
-  if(GNUNET_YES != success)
+  if (GNUNET_YES != success)
     return;
   count = 0;
-  GNUNET_PEERSTORE_iterate(h,
-      subsystem,
-      &pid,
-      key,
-      GNUNET_TIME_UNIT_SECONDS,
-      &test3_cont2,
-      NULL);
+  GNUNET_PEERSTORE_iterate (h,
+                            subsystem,
+                            &pid,
+                            key,
+                            GNUNET_TIME_UNIT_SECONDS,
+                            &test3_cont2, NULL);
 }
 
+
 /**
  * Replace the previous 2 records
  */
 static void
-test3()
+test3 ()
 {
-  GNUNET_PEERSTORE_store(h,
-      subsystem,
-      &pid,
-      key,
-      val3,
-      strlen(val3) + 1,
-      GNUNET_TIME_UNIT_FOREVER_ABS,
-      GNUNET_PEERSTORE_STOREOPTION_REPLACE,
-      &test3_cont,
-      NULL);
+  GNUNET_PEERSTORE_store (h, subsystem, &pid, key, val3, strlen (val3) + 1,
+                          GNUNET_TIME_UNIT_FOREVER_ABS,
+                          GNUNET_PEERSTORE_STOREOPTION_REPLACE, &test3_cont,
+                          NULL);
 }
 
-int test2_cont2(void *cls,
-    struct GNUNET_PEERSTORE_Record *record,
-    char *emsg)
+
+static void
+test2_cont2 (void *cls,
+             const struct GNUNET_PEERSTORE_Record *record,
+             const char *emsg)
 {
-  if(NULL != emsg)
-    return GNUNET_NO;
-  if(NULL != record)
+  if (NULL != emsg)
+    return;
+  if (NULL != record)
   {
-    GNUNET_assert(((strlen(val1) + 1) == record->value_size)
-        || ((strlen(val2) + 1) == record->value_size));
-    GNUNET_assert((0 == strcmp((char *)val1, (char *)record->value))
-        || (0 == strcmp((char *)val2, (char *)record->value)));
+    GNUNET_assert (((strlen (val1) + 1) == record->value_size) ||
+                   ((strlen (val2) + 1) == record->value_size));
+    GNUNET_assert ((0 == strcmp ((char *) val1, (char *) record->value)) ||
+                   (0 == strcmp ((char *) val2, (char *) record->value)));
     count++;
-    return GNUNET_YES;
+    return;
   }
-  GNUNET_assert(count == 2);
+  GNUNET_assert (count == 2);
   count = 0;
-  test3();
-  return GNUNET_YES;
+  test3 ();
 }
 
+
 static void
-test2_cont(void *cls, int success)
+test2_cont (void *cls, int success)
 {
-  if(GNUNET_YES != success)
-      return;
+  if (GNUNET_YES != success)
+    return;
   count = 0;
-  GNUNET_PEERSTORE_iterate(h,
-      subsystem,
-      &pid,
-      key,
-      GNUNET_TIME_UNIT_SECONDS,
-      &test2_cont2,
-      NULL);
+  GNUNET_PEERSTORE_iterate (h,
+                            subsystem,
+                            &pid, key,
+                            GNUNET_TIME_UNIT_SECONDS,
+                            &test2_cont2, NULL);
 }
 
+
 /**
  * Test storing a second value with the same key
  */
-void test2()
+void
+test2 ()
 {
-  GNUNET_PEERSTORE_store(h,
-      subsystem,
-      &pid,
-      key,
-      val2,
-      strlen(val2) + 1,
-      GNUNET_TIME_UNIT_FOREVER_ABS,
-      GNUNET_PEERSTORE_STOREOPTION_MULTIPLE,
-      &test2_cont,
-      NULL);
+  GNUNET_PEERSTORE_store (h, subsystem, &pid, key, val2, strlen (val2) + 1,
+                          GNUNET_TIME_UNIT_FOREVER_ABS,
+                          GNUNET_PEERSTORE_STOREOPTION_MULTIPLE, &test2_cont,
+                          NULL);
 }
 
-int test1_cont2(void *cls,
-    struct GNUNET_PEERSTORE_Record *record,
-    char *emsg)
+
+static void
+test1_cont2 (void *cls,
+             const struct GNUNET_PEERSTORE_Record *record,
+             const char *emsg)
 {
-  if(NULL != emsg)
-    return GNUNET_NO;
-  if(NULL != record)
+  if (NULL != emsg)
+    return;
+  if (NULL != record)
   {
-    GNUNET_assert((strlen(val1) + 1) == record->value_size);
-    GNUNET_assert(0 == strcmp((char *)val1, (char *)record->value));
+    GNUNET_assert ((strlen (val1) + 1) == record->value_size);
+    GNUNET_assert (0 == strcmp ((char *) val1, (char *) record->value));
     count++;
-    return GNUNET_YES;
+    return;
   }
-  GNUNET_assert(count == 1);
+  GNUNET_assert (count == 1);
   count = 0;
-  test2();
-  return GNUNET_YES;
+  test2 ();
 }
 
+
 static void
-test1_cont(void *cls, int success)
+test1_cont (void *cls, int success)
 {
-  if(GNUNET_YES != success)
+  if (GNUNET_YES != success)
     return;
   count = 0;
-  GNUNET_PEERSTORE_iterate(h,
-      subsystem,
-      &pid,
-      key,
-      GNUNET_TIME_UNIT_SECONDS,
-      &test1_cont2,
-      NULL);
+  GNUNET_PEERSTORE_iterate (h, subsystem, &pid, key, GNUNET_TIME_UNIT_SECONDS,
+                            &test1_cont2, NULL);
 }
 
+
 /**
  * Store a single record
  */
 static void
-test1()
+test1 ()
 {
-  GNUNET_PEERSTORE_store(h,
-      subsystem,
-      &pid,
-      key,
-      val1,
-      strlen(val1) + 1,
-      GNUNET_TIME_UNIT_FOREVER_ABS,
-      GNUNET_PEERSTORE_STOREOPTION_REPLACE,
-      &test1_cont,
-      NULL);
+  GNUNET_PEERSTORE_store (h, subsystem, &pid, key, val1, strlen (val1) + 1,
+                          GNUNET_TIME_UNIT_FOREVER_ABS,
+                          GNUNET_PEERSTORE_STOREOPTION_REPLACE, &test1_cont,
+                          NULL);
 }
 
+
 static void
-run (void *cls,
-    const struct GNUNET_CONFIGURATION_Handle *cfg,
-    struct GNUNET_TESTING_Peer *peer)
+run (void *cls, const struct GNUNET_CONFIGURATION_Handle *cfg,
+     struct GNUNET_TESTING_Peer *peer)
 {
-  h = GNUNET_PEERSTORE_connect(cfg);
-  GNUNET_assert(NULL != h);
+  h = GNUNET_PEERSTORE_connect (cfg);
+  GNUNET_assert (NULL != h);
   memset (&pid, 1, sizeof (pid));
-  test1();
+  test1 ();
 }
 
+
 int
 main (int argc, char *argv[])
 {
-  if (0 != GNUNET_TESTING_service_run ("test-gnunet-peerstore",
-                 "peerstore",
-                 "test_peerstore_api_data.conf",
-                 &run, NULL))
+  if (0 !=
+      GNUNET_TESTING_service_run ("test-gnunet-peerstore", "peerstore",
+                                  "test_peerstore_api_data.conf", &run, NULL))
     return 1;
   return ok;
 }
 
-/* end of test_peerstore_api.c */
+/* end of test_peerstore_api_store.c */