X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Ftest_container_slist.c;h=1b63d3dbce1213294bdbc6cbd0a6d414a5781bf3;hb=72c8645af31896829b674b575c5375706f362a30;hp=ab19eb63877ef033a41558713795cf9b46cc5d57;hpb=2bf1c49126fff46b21c047a19f1ec9851068bba1;p=oweals%2Fgnunet.git diff --git a/src/util/test_container_slist.c b/src/util/test_container_slist.c index ab19eb638..1b63d3dbc 100644 --- a/src/util/test_container_slist.c +++ b/src/util/test_container_slist.c @@ -28,14 +28,11 @@ #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; - struct GNUNET_CONTAINER_SList_Iterator *it; + struct GNUNET_CONTAINER_SList_Iterator it; unsigned int i; int *ip; unsigned int j; @@ -45,98 +42,118 @@ main (int argc, char *argv[]) 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++) - GNUNET_CONTAINER_slist_add (l, - GNUNET_CONTAINER_SLIST_DISPOSITION_TRANSIENT, + GNUNET_CONTAINER_slist_add (l, GNUNET_CONTAINER_SLIST_DISPOSITION_TRANSIENT, &i, sizeof (i)); - CHECK (GNUNET_CONTAINER_slist_count (l) == 100); + GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 100); for (it = GNUNET_CONTAINER_slist_begin (l), i = 99; - GNUNET_CONTAINER_slist_end (it) != GNUNET_YES; - GNUNET_CONTAINER_slist_next (it), i--) + GNUNET_CONTAINER_slist_end (&it) != GNUNET_YES; + GNUNET_CONTAINER_slist_next (&it), i--) + { + p = GNUNET_CONTAINER_slist_get (&it, &s); + + if ((p == NULL) || (i != (j = *(int *) p)) || (s != sizeof (i))) { - 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_CONTAINER_SLIST_DISPOSITION_TRANSIENT, - &j, sizeof (j)); + GNUNET_CONTAINER_slist_iter_destroy (&it); + GNUNET_assert (0); } - GNUNET_CONTAINER_slist_iter_destroy (it); - 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; - 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); - GNUNET_CONTAINER_slist_end (it) != GNUNET_YES;) - { - p = GNUNET_CONTAINER_slist_get (it, &s); - CHECK (p != NULL); - CHECK (s == sizeof (i)); - i = *(int *) p; - - CHECK (GNUNET_CONTAINER_slist_next (it) == GNUNET_YES); - CHECK (GNUNET_CONTAINER_slist_end (it) != GNUNET_YES); - - p = GNUNET_CONTAINER_slist_get (it, &s); - CHECK (p != NULL); - CHECK (s == sizeof (j)); - j = *(int *) p; - - CHECK (j * 2 == i); - - GNUNET_CONTAINER_slist_erase (it); - } - GNUNET_CONTAINER_slist_iter_destroy (it); - CHECK (GNUNET_CONTAINER_slist_count (l) == 100); + 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; - CHECK (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)) == GNUNET_NO); + GNUNET_assert (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)) == + GNUNET_NO); i = 198; - CHECK (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i))); + GNUNET_assert (GNUNET_CONTAINER_slist_contains (l, &i, sizeof (i)) == + GNUNET_YES); GNUNET_CONTAINER_slist_clear (l); - CHECK (GNUNET_CONTAINER_slist_count (l) == 0); + GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 0); for (i = 0; i < 100; i++) - GNUNET_CONTAINER_slist_add (l, - GNUNET_CONTAINER_SLIST_DISPOSITION_TRANSIENT, + GNUNET_CONTAINER_slist_add (l, GNUNET_CONTAINER_SLIST_DISPOSITION_TRANSIENT, &i, sizeof (i)); - /*check slist_append*/ - GNUNET_CONTAINER_slist_append(l,l); - CHECK (GNUNET_CONTAINER_slist_count (l) == 200); + /*check slist_append */ + GNUNET_CONTAINER_slist_append (l, l); + GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 200); GNUNET_CONTAINER_slist_destroy (l); - /*check if disp = GNUNET_CONTAINER_SLIST_DISPOSITION_DYNAMIC*/ + /*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); + + if ((p == NULL) || (i != *(int *) p) || (s != sizeof (i))) { - ip = GNUNET_malloc (sizeof (int)); - *ip = i; - GNUNET_CONTAINER_slist_add (l, - GNUNET_CONTAINER_SLIST_DISPOSITION_DYNAMIC, - ip, sizeof (int)); + GNUNET_assert (0); } + } + GNUNET_CONTAINER_slist_destroy (l); + + /*check if disp = GNUNET_CONTAINER_SLIST_DISPOSITION_DYNAMIC */ + l = GNUNET_CONTAINER_slist_create (); + + for (i = 0; i < 100; 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); - CHECK (p != NULL); + p = GNUNET_CONTAINER_slist_get (&it, &s); + GNUNET_assert (p != NULL); //slist_erase - CHECK (GNUNET_CONTAINER_slist_next (it) == GNUNET_YES); - GNUNET_CONTAINER_slist_erase (it); - GNUNET_CONTAINER_slist_iter_destroy (it); - CHECK (GNUNET_CONTAINER_slist_count (l) == 99); + 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); - CHECK (GNUNET_CONTAINER_slist_count (l) == 0); + GNUNET_CONTAINER_slist_clear (l); + GNUNET_assert (GNUNET_CONTAINER_slist_count (l) == 0); GNUNET_CONTAINER_slist_destroy (l); return 0;