125 rivejä
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			125 rivejä
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * 	this is rudimentary test for the bubulles manager
 | |
|  *
 | |
|  * 	contact: <tth> on IRC freenode#tetalab
 | |
|  */
 | |
| 
 | |
| #include  <stdio.h>
 | |
| #include  <stdlib.h>
 | |
| 
 | |
| #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<nbelm; idx++) {
 | |
| 	bubulle.p.x = (double)idx;
 | |
| 	if (idx & 0xf0) 
 | |
| 		bubulle.p.y = bubulle.p.z = 0.3;
 | |
| 	else
 | |
| 		bubulle.p.y = bubulle.p.z = 0.8;
 | |
| 	foo = push_bubulle(bublist, &bubulle);
 | |
| 	}
 | |
| 
 | |
| /* WTF ? where is the 'pop' test ? */
 | |
| 
 | |
| foo = bubulles_to_data("dummy-file", NULL, bublist, 0);	
 | |
| fprintf(stderr, "ecriture bubulles -> %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;
 | |
| }
 |