/* * this is rudimentary test for the bubulles manager * * contact: on IRC freenode#tetalab */ #include #include #include "bubulles.h" /* --------------------------------------------------------------------- */ void test_alloc_free(int nbelm) { BBList *bublist; int foo; bublist = alloc_bubulles("plop !", nbelm, 0); if (NULL==bublist) { fprintf(stderr, "err in %s, aborting...\n", __func__); abort(); } print_bublist_desc(bublist, 1); foo = free_bubulles(bublist, 0); fprintf(stderr, "free bubulles -> %d\n", foo); } /* --------------------------------------------------------------------- */ int test_push_pop(int nbelm) { BBList *bublist; int foo, idx; Bubulle bubulle; bublist = alloc_bubulles("push & pop", nbelm, 0); for (idx=0; idx %d\n", foo); foo = free_bubulles(bublist, 0); fprintf(stderr, "free bubulles -> %d\n", foo); return 0; } /* --------------------------------------------------------------------- */ int test_cleanfill_my_bublist(int krkrkr) { BBList *bublist; int foo; bublist = alloc_bubulles("cleanfill", 567890, 0); foo = cleanfill_my_bublist(bublist, 0); fprintf(stderr, "clean & fill -> %d\n", foo); free_bubulles(bublist, 0); return 0; } /* --------------------------------------------------------------------- */ int test_peek_poke(int nbre) { BBList *bublist; int foo, in, out; Bubulle bubulle; bublist = alloc_bubulles("peek & poke", nbre, 0); print_bublist_desc(bublist, 0); in = nbre / 2; out = nbre + 42; foo = peek_bubulle(bublist, &bubulle, in); fprintf(stderr, "peek 1 -> %7d\n", foo); foo = niceprint_bubulle(&bubulle, 0); if (foo) fprintf(stderr, "niceprint -> %d\n", foo); foo = peek_bubulle(bublist, &bubulle, out); fprintf(stderr, "peek 2 -> %7d\n", foo); bubulle.p.y = 3.14159; foo = poke_bubulle(bublist, &bubulle, in); fprintf(stderr, "poke 2 -> %7d\n", foo); foo = peek_bubulle(bublist, &bubulle, in); fprintf(stderr, "peek 3 -> %7d\n", foo); foo = niceprint_bubulle(&bubulle, 0); if (foo) fprintf(stderr, "niceprint -> %d\n", foo); free_bubulles(bublist, 0); return 0; } /* --------------------------------------------------------------------- */ int main(int argc, char *argv[]) { int foo; printf("*** Bubulles Testing -- %s %s\n\n", __DATE__, __TIME__); bubulles_version(1); test_alloc_free(5); test_push_pop(20000); test_cleanfill_my_bublist(999); foo = test_peek_poke(5000); fprintf(stderr, "test peek/poke -> %d\n", foo); return 0; }