]> git.ozlabs.org Git - ccan/blobdiff - ccan/alloc/test/run.c
Remove compile warnings of tests under Ubuntu (return value ignored)
[ccan] / ccan / alloc / test / run.c
index 8cfe8b42ba00d3c40a14a533f6d644426341ff9e..8247122eaa4041b8ebf643d2e5077605019f64ce 100644 (file)
@@ -2,6 +2,7 @@
 #include "tap/tap.h"
 #include "alloc/alloc.c"
 #include <stdlib.h>
+#include <err.h>
 
 #define POOL_ORD 16
 #define POOL_SIZE (1 << POOL_ORD)
@@ -49,10 +50,11 @@ int main(int argc, char *argv[])
        unsigned int i, num, max_size;
        void *p[POOL_SIZE];
 
-       plan_tests(139);
+       plan_tests(178);
 
        /* FIXME: Needs to be page aligned for now. */
-       posix_memalign(&mem, 1 << POOL_ORD, POOL_SIZE);
+       if (posix_memalign(&mem, 1 << POOL_ORD, POOL_SIZE) != 0)
+               errx(1, "Failed allocating aligned memory"); 
 
        /* Small pool, all allocs fail, even 0-length. */
        alloc_init(mem, 0);
@@ -75,6 +77,7 @@ int main(int argc, char *argv[])
        ok1(max_size < POOL_SIZE);
        ok1(max_size > 0);
        ok1(alloc_check(mem, POOL_SIZE));
+       ok1(alloc_size(mem, POOL_SIZE, p[0]) >= max_size);
 
        /* Free it, should be able to reallocate it. */
        alloc_free(mem, POOL_SIZE, p[0]);
@@ -82,6 +85,7 @@ int main(int argc, char *argv[])
 
        p[0] = alloc_get(mem, POOL_SIZE, max_size, 1);
        ok1(p[0]);
+       ok1(alloc_size(mem, POOL_SIZE, p[0]) >= max_size);
        ok1(alloc_check(mem, POOL_SIZE));
        alloc_free(mem, POOL_SIZE, p[0]);
        ok1(alloc_check(mem, POOL_SIZE));
@@ -117,12 +121,14 @@ int main(int argc, char *argv[])
        p[0] = alloc_get(mem, POOL_SIZE, max_size, 1);
        ok1(p[0]);
        ok1(alloc_check(mem, POOL_SIZE));
+       ok1(alloc_size(mem, POOL_SIZE, p[0]) >= max_size);
 
        /* Re-initializing should be the same as freeing everything */
        alloc_init(mem, POOL_SIZE);
        ok1(alloc_check(mem, POOL_SIZE));
        p[0] = alloc_get(mem, POOL_SIZE, max_size, 1);
        ok1(p[0]);
+       ok1(alloc_size(mem, POOL_SIZE, p[0]) >= max_size);
        ok1(alloc_check(mem, POOL_SIZE));
        alloc_free(mem, POOL_SIZE, p[0]);
        ok1(alloc_check(mem, POOL_SIZE));
@@ -133,6 +139,7 @@ int main(int argc, char *argv[])
                ok1(p[i]);
                ok1(((unsigned long)p[i] % (1 << i)) == 0);
                ok1(alloc_check(mem, POOL_SIZE));
+               ok1(alloc_size(mem, POOL_SIZE, p[i]) >= i);
        }
 
        for (i = 0; i < POOL_ORD-1; i++) {
@@ -145,6 +152,7 @@ int main(int argc, char *argv[])
                p[0] = alloc_get(mem, POOL_SIZE, 1, 1 << i);
                ok1(p[0]);
                ok1(alloc_check(mem, POOL_SIZE));
+               ok1(alloc_size(mem, POOL_SIZE, p[i]) >= 1);
                alloc_free(mem, POOL_SIZE, p[0]);
                ok1(alloc_check(mem, POOL_SIZE));
        }
@@ -152,6 +160,7 @@ int main(int argc, char *argv[])
        /* Alignment check for a 0-byte allocation.  Corner case. */
        p[0] = alloc_get(mem, POOL_SIZE, 0, 1 << (POOL_ORD - 1));
        ok1(alloc_check(mem, POOL_SIZE));
+       ok1(alloc_size(mem, POOL_SIZE, p[0]) < POOL_SIZE);
        alloc_free(mem, POOL_SIZE, p[0]);
        ok1(alloc_check(mem, POOL_SIZE));
 
@@ -163,6 +172,7 @@ int main(int argc, char *argv[])
                        break;
        }
        ok1(alloc_check(mem, POOL_SIZE));
+       ok1(alloc_size(mem, POOL_SIZE, p[i-1]) >= getpagesize());
 
        /* Sort them. */
        sort(p, i-1, addr_cmp);
@@ -171,6 +181,7 @@ int main(int argc, char *argv[])
        for (i = 1; p[i]; i++)
                alloc_free(mem, POOL_SIZE, p[i]);
        ok1(alloc_check(mem, POOL_SIZE));
+       ok1(alloc_size(mem, POOL_SIZE, p[0]) >= getpagesize());
 
        /* Now do a whole heap of subpage allocs. */
        for (i = 1; i < POOL_SIZE; i++) {
@@ -185,6 +196,7 @@ int main(int argc, char *argv[])
        ok1(alloc_check(mem, POOL_SIZE));
        p[0] = alloc_get(mem, POOL_SIZE, 1, 1);
        ok1(p[0]);
+       ok1(alloc_size(mem, POOL_SIZE, p[0]) >= 1);
 
        /* Clean up. */
        for (i = 0; p[i]; i++)