-improve indentation, reduce duplication of PIDs in core's neighbour map
[oweals/gnunet.git] / src / identity / test_identity_defaults.c
index c0b6efc5013fcc273b171335f4b0515e090dcf39..3f43500a45f126f7b1788a08fc53adcbe890ed5e 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C) 2013 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2013 Christian Grothoff (and other contributing authors)
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -14,8 +14,8 @@
 
      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.
 */
 
 /**
@@ -24,7 +24,6 @@
  * @author Christian Grothoff
  */
 #include "platform.h"
-#include "gnunet_common.h"
 #include "gnunet_util_lib.h"
 #include "gnunet_identity_service.h"
 #include "gnunet_testing_lib.h"
@@ -50,8 +49,8 @@ static struct GNUNET_IDENTITY_Operation *op;
 
 /**
  * Handle for task for timeout termination.
- */ 
-static GNUNET_SCHEDULER_TaskIdentifier endbadly_task;
+ */
+static struct GNUNET_SCHEDULER_Task * endbadly_task;
 
 
 /**
@@ -105,71 +104,19 @@ end_normally (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 /**
  * Finish the testcase (successfully).
  */
-static void 
+static void
 end ()
 {
-  if (endbadly_task != GNUNET_SCHEDULER_NO_TASK)
+  if (endbadly_task != NULL)
   {
     GNUNET_SCHEDULER_cancel (endbadly_task);
-    endbadly_task = GNUNET_SCHEDULER_NO_TASK;
+    endbadly_task = NULL;
   }
   GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_MILLISECONDS,
                                &end_normally, NULL);
 }
 
 
-/**
- * Called with events about egos.
- *
- * @param cls NULL
- * @param ego ego handle
- * @param ego_ctx context for application to store data for this ego
- *                 (during the lifetime of this process, initially NULL)
- * @param identifier identifier assigned by the user for this ego,
- *                   NULL if the user just deleted the ego and it
- *                   must thus no longer be used
- */
-static void
-notification_cb (void *cls,
-                struct GNUNET_IDENTITY_Ego *ego,
-                void **ctx,
-                const char *identifier)
-{
-#if 0
-  static struct GNUNET_IDENTITY_Ego *my_ego;
-  static int round;
-
-  switch (round)
-  {
-  case 0: /* end of initial iteration */
-    GNUNET_assert (NULL == ego);
-    GNUNET_assert (NULL == identifier);
-    break;
-  case 1: /* create */
-    GNUNET_assert (NULL != ego);
-    GNUNET_assert (0 == strcmp (identifier, "test-id"));
-    my_ego = ego;
-    *ctx = &round;
-    break;
-  case 2: /* rename */
-    GNUNET_assert (my_ego == ego);
-    GNUNET_assert (0 == strcmp (identifier, "test"));
-    GNUNET_assert (*ctx == &round);
-    break;
-  case 3: /* delete */
-    GNUNET_assert (my_ego == ego);
-    GNUNET_assert (NULL == identifier);
-    GNUNET_assert (*ctx == &round);
-    *ctx = NULL;
-    break;
-  default:
-    GNUNET_break (0);
-  }
-  round++;
-#endif
-}
-
-
 /**
  * Continuation called from successful delete operation.
  *
@@ -198,12 +145,12 @@ get_cb (void *cls,
        void **ctx,
        const char *identifier)
 {
-  GNUNET_assert (NULL != emsg);
-  GNUNET_assert (my_ego == ego);
+  GNUNET_assert (NULL != ego);
+  GNUNET_assert (NULL != identifier);
   GNUNET_assert (0 == strcmp (identifier, "test-id"));
-  op = GNUNET_IDENTITY_delete (h, 
+  op = GNUNET_IDENTITY_delete (h,
                               "test-id",
-                              &delete_cont, 
+                              &delete_cont,
                               NULL);
 }
 
@@ -216,13 +163,13 @@ get_cb (void *cls,
  * @param peer handle to access more of the peer (not used)
  */
 static void
-run_get (void *cls, 
+run_get (void *cls,
         const struct GNUNET_CONFIGURATION_Handle *cfg,
         struct GNUNET_TESTING_Peer *peer)
 {
-  endbadly_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, 
-                                               &endbadly, NULL); 
-  h = GNUNET_IDENTITY_connect (cfg, &notification_cb, NULL);
+  endbadly_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT,
+                                               &endbadly, NULL);
+  h = GNUNET_IDENTITY_connect (cfg, NULL, NULL);
   GNUNET_assert (NULL != h);
   op = GNUNET_IDENTITY_get (h,
                            "test-service",
@@ -248,7 +195,7 @@ success_set_cont (void *cls,
 
 
 /**
- * Called with events about created ego.
+ * Called with events about egos.
  *
  * @param cls NULL
  * @param ego ego handle
@@ -259,19 +206,38 @@ success_set_cont (void *cls,
  *                   must thus no longer be used
  */
 static void
-create_cb (void *cls,
-          struct GNUNET_IDENTITY_Ego *ego,
-          void **ctx,
-          const char *identifier)
-{  
-  op = GNUNET_IDENTITY_set (h, 
+notification_cb (void *cls,
+                struct GNUNET_IDENTITY_Ego *ego,
+                void **ctx,
+                const char *identifier)
+{
+  if (NULL == ego)
+    return; /* skip first call */
+  if (NULL == identifier)
+    return; /* deletion / shutdown */
+  op = GNUNET_IDENTITY_set (h,
                            "test-service",
                            ego,
-                           &success_set_cont, 
+                           &success_set_cont,
                            NULL);
 }
 
 
+/**
+ * Called with events about created ego.
+ *
+ * @param cls NULL
+ * @param emsg error message
+ */
+static void
+create_cb (void *cls,
+          const char *emsg)
+{
+  GNUNET_assert (NULL == emsg);
+  op = NULL;
+}
+
+
 /**
  * Main function of the test, run from scheduler.
  *
@@ -280,40 +246,42 @@ create_cb (void *cls,
  * @param peer handle to access more of the peer (not used)
  */
 static void
-run_set (void *cls, 
+run_set (void *cls,
         const struct GNUNET_CONFIGURATION_Handle *cfg,
         struct GNUNET_TESTING_Peer *peer)
 {
-  endbadly_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT, 
-                                               &endbadly, NULL); 
+  endbadly_task = GNUNET_SCHEDULER_add_delayed (TIMEOUT,
+                                               &endbadly, NULL);
   h = GNUNET_IDENTITY_connect (cfg, &notification_cb, NULL);
   GNUNET_assert (NULL != h);
   op = GNUNET_IDENTITY_create (h,
                               "test-id",
                               &create_cb,
                               NULL);
-  
+
 }
 
 
 int
 main (int argc, char *argv[])
 {
+  GNUNET_DISK_directory_remove ("/tmp/test-identity-service");
   res = 1;
-  if (0 != 
-      GNUNET_TESTING_service_run ("test-identity",
+  if (0 !=
+      GNUNET_TESTING_service_run ("test-identity-defaults",
                                  "identity",
                                  "test_identity.conf",
                                  &run_set,
                                  NULL))
     return 1;
-  if (0 != 
-      GNUNET_TESTING_service_run ("test-identity",
+  if (0 !=
+      GNUNET_TESTING_service_run ("test-identity-defaults",
                                  "identity",
                                  "test_identity.conf",
                                  &run_get,
                                  NULL))
     return 1;
+  GNUNET_DISK_directory_remove ("/tmp/test-identity-service");
   return res;
 }