Returns now GNUNET_SYSERR
[oweals/gnunet.git] / src / util / test_container_slist.c
index af3c3f39a318d62e078d423d31b9403bc2e8c4b1..fc3e8a2a4c8075280dbaf839e667ecbf3061e7d4 100644 (file)
@@ -101,7 +101,7 @@ main (int argc, char *argv[])
   i = 99;
   CHECK (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)) == GNUNET_NO);
   i = 198;
-  CHECK (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)));
+  CHECK (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)) == GNUNET_YES);
 
   GNUNET_CONTAINER_slist_clear (l);
   CHECK (GNUNET_CONTAINER_slist_count (l) == 0);
@@ -116,6 +116,32 @@ main (int argc, char *argv[])
 
   GNUNET_CONTAINER_slist_destroy (l);
 
+  /*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));
+
+  CHECK (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);
+
+    if ((p == NULL) ||
+        (i != *(int *) p) ||
+        (s != sizeof (i)))
+    {
+      GNUNET_CONTAINER_slist_iter_destroy (it);
+      CHECK (0);
+    }
+  }
+
+  GNUNET_CONTAINER_slist_destroy (l);
+
   /*check if disp = GNUNET_CONTAINER_SLIST_DISPOSITION_DYNAMIC*/
   l = GNUNET_CONTAINER_slist_create ();