X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6511b78ff810ead55a110d42b01a08255a55b56d..cb699a49faa9fa426f301dc1d21b6d5617b9c1a0:/testsuite/xbt/dynar_double.c diff --git a/testsuite/xbt/dynar_double.c b/testsuite/xbt/dynar_double.c index 1acaeb0328..bfd06410a7 100644 --- a/testsuite/xbt/dynar_double.c +++ b/testsuite/xbt/dynar_double.c @@ -2,143 +2,126 @@ /* dynar_double: A test case for the dynar using doubles as content */ -/* Authors: Martin Quinson */ -/* Copyright (C) 2003 the OURAGAN project. */ +/* Copyright (c) 2003,2004 Martin Quinson. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it - under the terms of the license (GNU LGPL) which comes with this package. */ + * under the terms of the license (GNU LGPL) which comes with this package. */ -#include -#include +#include "gras.h" + +XBT_LOG_NEW_DEFAULT_CATEGORY(test,"Logging specific to this test"); int main(int argc,char *argv[]) { - gras_dynar_t *d; - gras_error_t errcode; + xbt_dynar_t d; + xbt_error_t errcode; int cpt,cursor; double d1,d2; - gras_init_defaultlog(argc,argv,"dynar.thresh=debug"); - - fprintf(stderr,"==== Traverse the empty dynar\n"); - TRYFAIL(gras_dynar_new(&d,sizeof(int),NULL)); - gras_dynar_foreach(d,cursor,cpt){ - fprintf(stderr, - "Damnit, there is something in the empty dynar\n"); - abort(); + xbt_init_defaultlog(&argc,argv,"dynar.thresh=debug"); + + INFO0("==== Traverse the empty dynar"); + d=xbt_dynar_new(sizeof(int),NULL); + xbt_dynar_foreach(d,cursor,cpt){ + xbt_assert0(FALSE, + "Damnit, there is something in the empty dynar"); } - gras_dynar_free(d); + xbt_dynar_free(&d); + xbt_dynar_free(&d); - fprintf(stderr,"==== Push/shift 5000 doubles\n"); - TRYFAIL(gras_dynar_new(&d,sizeof(double),NULL)); + INFO0("==== Push/shift 5000 doubles"); + d=xbt_dynar_new(sizeof(double),NULL); for (cpt=0; cpt< 5000; cpt++) { d1=(double)cpt; - TRYFAIL(gras_dynar_push(d,&d1)); + xbt_dynar_push(d,&d1); } - gras_dynar_foreach(d,cursor,d2){ + xbt_dynar_foreach(d,cursor,d2){ d1=(double)cursor; - if (d1 != d2) { - fprintf(stderr, - "The retrieved value is not the same than the injected one (%f!=%f)\n", - d1,d2); - abort(); - } + xbt_assert2(d1 == d2, + "The retrieved value is not the same than the injected one (%f!=%f)", + d1,d2); } for (cpt=0; cpt< 5000; cpt++) { d1=(double)cpt; - gras_dynar_shift(d,&d2); - if (d1 != d2) { - fprintf(stderr, - "The retrieved value is not the same than the injected one (%f!=%f)\n", - d1,d2); - abort(); - } + xbt_dynar_shift(d,&d2); + xbt_assert2(d1 == d2, + "The retrieved value is not the same than the injected one (%f!=%f)", + d1,d2); } - gras_dynar_free(d); + xbt_dynar_free(&d); + xbt_dynar_free(&d); - fprintf(stderr,"==== Unshift/pop 5000 doubles\n"); - TRYFAIL(gras_dynar_new(&d,sizeof(double),NULL)); + INFO0("==== Unshift/pop 5000 doubles"); + d=xbt_dynar_new(sizeof(double),NULL); for (cpt=0; cpt< 5000; cpt++) { d1=(double)cpt; - TRYFAIL(gras_dynar_unshift(d,&d1)); + xbt_dynar_unshift(d,&d1); } for (cpt=0; cpt< 5000; cpt++) { d1=(double)cpt; - gras_dynar_pop(d,&d2); - if (d1 != d2) { - fprintf(stderr, - "The retrieved value is not the same than the injected one (%f!=%f)\n", - d1,d2); - abort(); - } + xbt_dynar_pop(d,&d2); + xbt_assert2 (d1 == d2, + "The retrieved value is not the same than the injected one (%f!=%f)", + d1,d2); } - gras_dynar_free(d); + xbt_dynar_free(&d); + xbt_dynar_free(&d); - fprintf(stderr,"==== Push 5000 doubles, insert 1000 doubles in the middle, shift everything\n"); - TRYFAIL(gras_dynar_new(&d,sizeof(double),NULL)); + INFO0("==== Push 5000 doubles, insert 1000 doubles in the middle, shift everything"); + d=xbt_dynar_new(sizeof(double),NULL); for (cpt=0; cpt< 5000; cpt++) { d1=(double)cpt; - TRYFAIL(gras_dynar_push(d,&d1)); + xbt_dynar_push(d,&d1); } for (cpt=0; cpt< 1000; cpt++) { d1=(double)cpt; - TRYFAIL(gras_dynar_insert_at(d,2500,&d1)); + xbt_dynar_insert_at(d,2500,&d1); } for (cpt=0; cpt< 2500; cpt++) { d1=(double)cpt; - gras_dynar_shift(d,&d2); - if (d1 != d2) { - fprintf(stderr, - "The retrieved value is not the same than the injected one at the begining (%f!=%f)\n", - d1,d2); - abort(); - } - // fprintf (stderr,"Pop %d, length=%d \n",cpt, gras_dynar_length(d)); + xbt_dynar_shift(d,&d2); + xbt_assert2(d1 == d2, + "The retrieved value is not the same than the injected one at the begining (%f!=%f)", + d1,d2); + DEBUG2("Pop %d, length=%lu",cpt, xbt_dynar_length(d)); } for (cpt=999; cpt>=0; cpt--) { d1=(double)cpt; - gras_dynar_shift(d,&d2); - if (d1 != d2) { - fprintf(stderr, - "The retrieved value is not the same than the injected one in the middle (%f!=%f)\n", - d1,d2); - abort(); - } + xbt_dynar_shift(d,&d2); + xbt_assert2 (d1 == d2, + "The retrieved value is not the same than the injected one in the middle (%f!=%f)", + d1,d2); } for (cpt=2500; cpt< 5000; cpt++) { d1=(double)cpt; - gras_dynar_shift(d,&d2); - if (d1 != d2) { - fprintf(stderr, - "The retrieved value is not the same than the injected one at the end (%f!=%f)\n", - d1,d2); - abort(); - } + xbt_dynar_shift(d,&d2); + xbt_assert2 (d1 == d2, + "The retrieved value is not the same than the injected one at the end (%f!=%f)", + d1,d2); } - gras_dynar_free(d); + xbt_dynar_free(&d); + xbt_dynar_free(&d); - fprintf(stderr,"==== Push 5000 double, remove 2000-4000. free the rest\n"); - TRYFAIL(gras_dynar_new(&d,sizeof(double),NULL)); + INFO0("==== Push 5000 double, remove 2000-4000. free the rest"); + d=xbt_dynar_new(sizeof(double),NULL); for (cpt=0; cpt< 5000; cpt++) { d1=(double)cpt; - TRYFAIL(gras_dynar_push(d,&d1)); + xbt_dynar_push(d,&d1); } for (cpt=2000; cpt< 4000; cpt++) { d1=(double)cpt; - gras_dynar_remove_at(d,2000,&d2); - if (d1 != d2) { - fprintf(stderr, - "Remove a bad value. Got %f, expected %f\n", + xbt_dynar_remove_at(d,2000,&d2); + xbt_assert2 (d1 == d2, + "Remove a bad value. Got %f, expected %f", d2,d1); - abort(); - } } - gras_dynar_free(d); + xbt_dynar_free(&d); + xbt_dynar_free(&d); - gras_exit(); + xbt_exit(); return 0; }