-remove async ecc key generation, not needed
[oweals/gnunet.git] / src / util / test_container_slist.c
index a22d4be8ac1a14105ae7d2208f9561722984a9f1..1b63d3dbce1213294bdbc6cbd0a6d414a5781bf3 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 "gnunet_common.h"
 #include "gnunet_container_lib.h"
 
 #include "gnunet_common.h"
 #include "gnunet_container_lib.h"
 
-#define ABORT() { fprintf(stderr, "Error at %s:%d\n", __FILE__, __LINE__); return 1; }
-#define CHECK(c) { if (! (c)) ABORT(); }
-
 int
 main (int argc, char *argv[])
 {
   struct GNUNET_CONTAINER_SList *l;
 int
 main (int argc, char *argv[])
 {
   struct GNUNET_CONTAINER_SList *l;
-  struct GNUNET_CONTAINER_SList_Iterator *it;
-  unsigned int i, j, s;
-
+  struct GNUNET_CONTAINER_SList_Iterator it;
+  unsigned int i;
+  int *ip;
+  unsigned int j;
+  size_t s;
+  const void *p;
 
   GNUNET_log_setup ("test-container-slist", "WARNING", NULL);
 
   l = GNUNET_CONTAINER_slist_create ();
 
   GNUNET_log_setup ("test-container-slist", "WARNING", NULL);
 
   l = GNUNET_CONTAINER_slist_create ();
-  CHECK (l != NULL);
-  CHECK (GNUNET_CONTAINER_slist_count (l) == 0);
+  GNUNET_assert (l != NULL);
+  GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 0);
 
   for (i = 0; i < 100; i++)
 
   for (i = 0; i < 100; i++)
-    GNUNET_CONTAINER_slist_add (l, GNUNET_MEM_DISP_TRANSIENT, &i, sizeof (i));
-  CHECK (GNUNET_CONTAINER_slist_count (l) == 100);
+    GNUNET_CONTAINER_slist_add (l, GNUNET_CONTAINER_SLIST_DISPOSITION_TRANSIENT,
+                                &i, sizeof (i));
+  GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 100);
 
   for (it = GNUNET_CONTAINER_slist_begin (l), i = 99;
 
   for (it = GNUNET_CONTAINER_slist_begin (l), i = 99;
-       GNUNET_CONTAINER_slist_end (it) != GNUNET_YES;
-       GNUNET_CONTAINER_slist_next (it), i--)
-    {
-      void *p;
+       GNUNET_CONTAINER_slist_end (&it) != GNUNET_YES;
+       GNUNET_CONTAINER_slist_next (&it), i--)
+  {
+    p = GNUNET_CONTAINER_slist_get (&it, &s);
 
 
-      p = GNUNET_CONTAINER_slist_get (it, &s);
-      CHECK (p != NULL);
-      j = *(int *) p;
-      CHECK (i == j);
-      CHECK (s == sizeof (i));
-
-      j *= 2;
-      GNUNET_CONTAINER_slist_insert (it, GNUNET_MEM_DISP_TRANSIENT, &j,
-                                     sizeof (j));
+    if ((p == NULL) || (i != (j = *(int *) p)) || (s != sizeof (i)))
+    {
+      GNUNET_CONTAINER_slist_iter_destroy (&it);
+      GNUNET_assert (0);
     }
     }
-  CHECK (GNUNET_CONTAINER_slist_count (l) == 200);
+    j *= 2;
+    GNUNET_CONTAINER_slist_insert (&it,
+                                   GNUNET_CONTAINER_SLIST_DISPOSITION_TRANSIENT,
+                                   &j, sizeof (j));
+  }
+  GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 200);
   i = 198;
   i = 198;
-  CHECK (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)));
+  GNUNET_assert (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)));
 
   for (it = GNUNET_CONTAINER_slist_begin (l);
 
   for (it = GNUNET_CONTAINER_slist_begin (l);
-       GNUNET_CONTAINER_slist_end (it) != GNUNET_YES;)
-    {
-      void *p;
+       GNUNET_CONTAINER_slist_end (&it) != GNUNET_YES;)
+  {
+    p = GNUNET_CONTAINER_slist_get (&it, &s);
+    GNUNET_assert (p != NULL);
+    GNUNET_assert (s == sizeof (i));
+    i = *(int *) p;
+
+    GNUNET_assert (GNUNET_CONTAINER_slist_next (&it) == GNUNET_YES);
+    GNUNET_assert (GNUNET_CONTAINER_slist_end (&it) != GNUNET_YES);
+
+    p = GNUNET_CONTAINER_slist_get (&it, &s);
+    GNUNET_assert (p != NULL);
+    GNUNET_assert (s == sizeof (j));
+    j = *(int *) p;
+
+    GNUNET_assert (j * 2 == i);
+
+    GNUNET_CONTAINER_slist_erase (&it);
+  }
+  GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 100);
+  i = 99;
+  GNUNET_assert (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)) ==
+                 GNUNET_NO);
+  i = 198;
+  GNUNET_assert (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)) ==
+                 GNUNET_YES);
 
 
-      p = GNUNET_CONTAINER_slist_get (it, &s);
-      CHECK (p != NULL);
-      CHECK (s == sizeof (i));
-      i = *(int *) p;
+  GNUNET_CONTAINER_slist_clear (l);
+  GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 0);
 
 
-      CHECK (GNUNET_CONTAINER_slist_next (it) == GNUNET_YES);
-      CHECK (GNUNET_CONTAINER_slist_end (it) != GNUNET_YES);
+  for (i = 0; i < 100; i++)
+    GNUNET_CONTAINER_slist_add (l, GNUNET_CONTAINER_SLIST_DISPOSITION_TRANSIENT,
+                                &i, sizeof (i));
+  /*check slist_append */
+  GNUNET_CONTAINER_slist_append (l, l);
+  GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 200);
 
 
-      p = GNUNET_CONTAINER_slist_get (it, &s);
-      CHECK (p != NULL);
-      CHECK (s == sizeof (j));
-      j = *(int *) p;
+  GNUNET_CONTAINER_slist_destroy (l);
 
 
-      CHECK (j * 2 == i);
+  /*check slist_add_end */
+  l = GNUNET_CONTAINER_slist_create ();
+  for (i = 0; i < 100; i++)
+    GNUNET_CONTAINER_slist_add_end (l,
+                                    GNUNET_CONTAINER_SLIST_DISPOSITION_TRANSIENT,
+                                    &i, sizeof (i));
+
+  GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 100);
+
+  for (it = GNUNET_CONTAINER_slist_begin (l), i = 0;
+       GNUNET_CONTAINER_slist_end (&it) != GNUNET_YES;
+       GNUNET_CONTAINER_slist_next (&it), i++)
+  {
+    p = GNUNET_CONTAINER_slist_get (&it, &s);
 
 
-      GNUNET_CONTAINER_slist_erase (it);
+    if ((p == NULL) || (i != *(int *) p) || (s != sizeof (i)))
+    {
+      GNUNET_assert (0);
     }
     }
-  CHECK (GNUNET_CONTAINER_slist_count (l) == 100);
-  i = 99;
-  CHECK (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)) == GNUNET_NO);
-  i = 198;
-  CHECK (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)));
+  }
+  GNUNET_CONTAINER_slist_destroy (l);
 
 
-  GNUNET_CONTAINER_slist_clear (l);
-  CHECK (GNUNET_CONTAINER_slist_count (l) == 0);
+  /*check if disp = GNUNET_CONTAINER_SLIST_DISPOSITION_DYNAMIC */
+  l = GNUNET_CONTAINER_slist_create ();
 
   for (i = 0; i < 100; i++)
 
   for (i = 0; i < 100; i++)
-    GNUNET_CONTAINER_slist_add (l, GNUNET_MEM_DISP_TRANSIENT, &i, sizeof (i));
-
+  {
+    ip = GNUNET_malloc (sizeof (int));
+    *ip = i;
+    GNUNET_CONTAINER_slist_add (l, GNUNET_CONTAINER_SLIST_DISPOSITION_DYNAMIC,
+                                ip, sizeof (int));
+  }
+  //creat_add
+  it = GNUNET_CONTAINER_slist_begin (l);
+  p = GNUNET_CONTAINER_slist_get (&it, &s);
+  GNUNET_assert (p != NULL);
+  //slist_erase
+  GNUNET_assert (GNUNET_CONTAINER_slist_next (&it) == GNUNET_YES);
+  GNUNET_CONTAINER_slist_erase (&it);
+  GNUNET_CONTAINER_slist_iter_destroy (&it);
+  GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 99);
+  //slist_clear
+  GNUNET_CONTAINER_slist_clear (l);
+  GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 0);
   GNUNET_CONTAINER_slist_destroy (l);
 
   return 0;
   GNUNET_CONTAINER_slist_destroy (l);
 
   return 0;