X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ff021a73f0cd26b2f27ca729783aa486393f9b3a..73d53de1c9a9a2b536522d0d2e04031276941caf:/testsuite/xbt/dict_crash.c diff --git a/testsuite/xbt/dict_crash.c b/testsuite/xbt/dict_crash.c index 71fd12090a..7a9fec72fe 100644 --- a/testsuite/xbt/dict_crash.c +++ b/testsuite/xbt/dict_crash.c @@ -22,52 +22,40 @@ static void print_str(void *str) { static gras_error_t traverse(gras_dict_t *head) { - gras_error_t errcode; gras_dict_cursor_t *cursor=NULL; char *key; char *data; - //gras_dict_dump(head,(void (*)(void*))&printf); - TRY(gras_dict_cursor_new(head,&cursor)); - - while (gras_dict_cursor_next(cursor) == no_error) { - TRY(gras_dict_cursor_get_key(cursor,&key)); - TRY(gras_dict_cursor_get_data(cursor,(void**)&data)); + gras_dict_foreach(head,cursor,key,data) { // printf(" Seen: %s=%s\n",key,data); if (strcmp(key,data)) { printf("Key(%s) != value(%s). Abording\n",key,data); abort(); } } - gras_dict_cursor_free(cursor); return no_error; } static gras_error_t countelems(gras_dict_t *head,int*count) { gras_dict_cursor_t *cursor; - gras_error_t errcode; char *key; void *data; *count=0; - TRY(gras_dict_cursor_new(head,&cursor)); - - while ((errcode=gras_dict_cursor_next(cursor))==no_error) { - TRY(gras_dict_cursor_get_data(cursor,&data)); - TRY(gras_dict_cursor_get_key(cursor,&key)); + gras_dict_foreach(head,cursor,key,data) { (*count)++; } return no_error; } -int main() { +int main(int argc,char **argv) { gras_error_t errcode; gras_dict_t *head=NULL; int i,j,k, nb; char *key; void *data; - TRY(gras_log_control_set("root.thresh=info")); + gras_init_defaultlog(&argc,argv,"dict.thresh=verbose"); srand((unsigned int)time(NULL)); printf("Dictionnary: CRASH test:\n"); @@ -89,7 +77,7 @@ int main() { key[k]=rand() % ('z' - 'a') + 'a'; key[k]='\0'; // printf("[%d %s]\n",j,key); - TRYFAIL(gras_dict_insert(head,strdup(key),key,&free)); + TRYFAIL(gras_dict_set(head,key,key,&free)); } nb=0; // gras_dict_dump(head,(void (*)(void*))&printf); @@ -107,14 +95,17 @@ int main() { printf("\n Fill 200 000 elements, with keys being the number of element\n"); printf(" (a point is 10 000 elements)\n"); for (j=0;j