X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2626ed754c524798c68e3878eadaf6a8d5fad4c2..eb7e5d550a7b9f486a6d602f415e2a4f65351295:/testsuite/xbt/multidict_crash.c?ds=sidebyside diff --git a/testsuite/xbt/multidict_crash.c b/testsuite/xbt/multidict_crash.c index 720cbf7aec..9e8b1a0222 100644 --- a/testsuite/xbt/multidict_crash.c +++ b/testsuite/xbt/multidict_crash.c @@ -13,11 +13,11 @@ XBT_LOG_NEW_DEFAULT_CATEGORY(Test,"this test"); -#define NB_ELM 10/*00*/ +#define NB_ELM 100 /*00*/ #define DEPTH 5 -#define KEY_SIZE 6 /*512*/ -#define NB_TEST 20 -int verbose=1; +#define KEY_SIZE 512 +#define NB_TEST 20 /*20*/ +int verbose=0; static void str_free(void *s) { char *c=*(char**)s; @@ -26,7 +26,7 @@ static void str_free(void *s) { int main(int argc, char *argv[]) { xbt_error_t errcode; - xbt_dict_t mdict=xbt_dict_new(); + xbt_dict_t mdict = NULL; int i,j,k,l; xbt_dynar_t keys = xbt_dynar_new(sizeof(char*),str_free); void *data; @@ -38,31 +38,38 @@ int main(int argc, char *argv[]) { printf(" Fill the struct and frees it %d times, using %d elements, depth of multicache=%d\n",NB_TEST,NB_ELM,DEPTH); printf(" with %d chars long randomized keys. (a point is a test)\n",KEY_SIZE); + for (l=0 ; l0) { printf("Test %d\n",i); - } else { + } else if (verbose==0) { if (i%10) printf("."); else printf("%d",i/10); } fflush(stdout); for (j=0;j0) printf (" Add {"); for (l=0 ; l0) printf("%p=%s %s ",key, key,(l0) printf("in multitree %p.\n",mdict); - TRYFAIL(xbt_multidict_set(mdict,keys,xbt_strdup(key),&str_free)); + TRYFAIL(xbt_multidict_set(mdict,keys,xbt_strdup(key),free)); TRYFAIL(xbt_multidict_get(mdict,keys,&data)); @@ -70,9 +77,12 @@ int main(int argc, char *argv[]) { "Retrieved value (%s) does not match the entrered one (%s)\n", (char*)data,key); } + xbt_dict_free(&mdict); } + + xbt_dynar_free(&keys); -/* if (verbose) +/* if (verbose>0) xbt_dict_dump(mdict,&xbt_dict_print);*/ xbt_dict_free(&mdict);