X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6511b78ff810ead55a110d42b01a08255a55b56d..32f13ca1c7961662a097b1b906f589a851bb3611:/testsuite/xbt/dict_usage.c diff --git a/testsuite/xbt/dict_usage.c b/testsuite/xbt/dict_usage.c index 72542d6f3c..fe53ddaaac 100644 --- a/testsuite/xbt/dict_usage.c +++ b/testsuite/xbt/dict_usage.c @@ -14,9 +14,10 @@ #include GRAS_LOG_EXTERNAL_CATEGORY(dict); +GRAS_LOG_NEW_DEFAULT_CATEGORY(test,"Logging specific to this test"); -static gras_error_t fill(gras_dict_t **head); -static gras_error_t debuged_add(gras_dict_t *head,const char*key); +static void fill(gras_dict_t **head); +static void debuged_add(gras_dict_t *head,const char*key); static gras_error_t search(gras_dict_t *head,const char*key); static gras_error_t debuged_remove(gras_dict_t *head,const char*key); static gras_error_t traverse(gras_dict_t *head); @@ -26,36 +27,32 @@ static void print_str(void *str) { printf("%s",(char*)str); } -static gras_error_t fill(gras_dict_t **head) { - gras_error_t errcode; +static void fill(gras_dict_t **head) { printf("\n Fill in the dictionnary\n"); - TRY(gras_dict_new(head)); - TRY(debuged_add(*head,"12")); - TRY(debuged_add(*head,"12a")); - TRY(debuged_add(*head,"12b")); - TRY(debuged_add(*head,"123")); - TRY(debuged_add(*head,"123456")); - // Child becomes child of what to add - TRY(debuged_add(*head,"1234")); - // Need of common ancestor - TRY(debuged_add(*head,"123457")); + *head = gras_dict_new(); + debuged_add(*head,"12"); + debuged_add(*head,"12a"); + debuged_add(*head,"12b"); + debuged_add(*head,"123"); + debuged_add(*head,"123456"); + /* Child becomes child of what to add */ + debuged_add(*head,"1234"); + /* Need of common ancestor */ + debuged_add(*head,"123457"); - return no_error; } -static gras_error_t debuged_add(gras_dict_t *head,const char*key) +static void debuged_add(gras_dict_t *head,const char*key) { - gras_error_t errcode; - char *data=strdup(key); + char *data=gras_strdup(key); printf(" - Add %s\n",key); - errcode=gras_dict_insert(head,key,data,&free); + gras_dict_set(head,key,data,&gras_free); if (GRAS_LOG_ISENABLED(dict,gras_log_priority_debug)) { gras_dict_dump(head,(void (*)(void*))&printf); fflush(stdout); } - return errcode; } static gras_error_t search(gras_dict_t *head,const char*key) { @@ -63,7 +60,7 @@ static gras_error_t search(gras_dict_t *head,const char*key) { gras_error_t errcode; - errcode=gras_dict_retrieve(head,key,&data); + errcode=gras_dict_get(head,key,&data); printf(" - Search %s. Found %s\n",key,data?(char*)data:"(null)");fflush(stdout); if (strcmp((char*)data,key)) return mismatch_error; @@ -76,7 +73,7 @@ static gras_error_t debuged_remove(gras_dict_t *head,const char*key) printf(" Remove '%s'\n",key);fflush(stdout); errcode=gras_dict_remove(head,key); - // gras_dict_dump(head,(void (*)(void*))&printf); + /* gras_dict_dump(head,(void (*)(void*))&printf); */ return errcode; } @@ -88,10 +85,8 @@ static gras_error_t traverse(gras_dict_t *head) { 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_assert2(!strcmp(key,data), + "Key(%s) != value(%s). Abording\n",key,data); } return no_error; } @@ -101,43 +96,43 @@ int main(int argc,char **argv) { gras_dict_t *head=NULL; char *data; - gras_init_defaultlog(argc,argv,"dict.thresh=verbose"); + gras_init_defaultlog(&argc,argv,"dict.thresh=verbose"); printf("\nGeneric dictionnary: USAGE test:\n"); printf(" Traverse the empty dictionnary\n"); TRYFAIL(traverse(head)); - TRYFAIL(fill(&head)); + fill(&head); printf(" Free the dictionnary\n"); gras_dict_free(&head); printf(" Free the dictionnary again\n"); gras_dict_free(&head); - TRYFAIL(fill(&head)); + fill(&head); printf(" - Change some values\n"); printf(" - Change 123 to 'Changed 123'\n"); - TRYFAIL(gras_dict_insert(head,"123",strdup("Changed 123"),&free)); + gras_dict_set(head,"123",strdup("Changed 123"),&gras_free); printf(" - Change 123 back to '123'\n"); - TRYFAIL(gras_dict_insert(head,"123",strdup("123"),&free)); + gras_dict_set(head,"123",strdup("123"),&gras_free); printf(" - Change 12a to 'Dummy 12a'\n"); - TRYFAIL(gras_dict_insert(head,"12a",strdup("Dummy 12a"),&free)); + gras_dict_set(head,"12a",strdup("Dummy 12a"),&gras_free); printf(" - Change 12a to '12a'\n"); - TRYFAIL(gras_dict_insert(head,"12a",strdup("12a"),&free)); + gras_dict_set(head,"12a",strdup("12a"),&gras_free); - // gras_dict_dump(head,(void (*)(void*))&printf); + /* gras_dict_dump(head,(void (*)(void*))&printf); */ printf(" - Traverse the resulting dictionnary\n"); TRYFAIL(traverse(head)); printf(" - Retrive values\n"); - TRYFAIL(gras_dict_retrieve(head,"123",(void**)&data)); + TRYFAIL(gras_dict_get(head,"123",(void**)&data)); assert(data); TRYFAIL(strcmp("123",data)); - TRYEXPECT(gras_dict_retrieve(head,"Can't be found",(void**)&data),mismatch_error); - TRYEXPECT(gras_dict_retrieve(head,"123 Can't be found",(void**)&data),mismatch_error); - TRYEXPECT(gras_dict_retrieve(head,"12345678 NOT",(void**)&data),mismatch_error); + TRYEXPECT(gras_dict_get(head,"Can't be found",(void**)&data),mismatch_error); + TRYEXPECT(gras_dict_get(head,"123 Can't be found",(void**)&data),mismatch_error); + TRYEXPECT(gras_dict_get(head,"12345678 NOT",(void**)&data),mismatch_error); TRYFAIL(search(head,"12a")); TRYFAIL(search(head,"12b")); @@ -149,7 +144,7 @@ int main(int argc,char **argv) { printf(" - Traverse the resulting dictionnary\n"); TRYFAIL(traverse(head)); - // gras_dict_dump(head,(void (*)(void*))&printf); + /* gras_dict_dump(head,(void (*)(void*))&printf); */ printf(" Free the dictionnary (twice)\n"); gras_dict_free(&head); @@ -159,16 +154,18 @@ int main(int argc,char **argv) { TRYFAIL(traverse(head)); printf("\n"); - TRYFAIL(fill(&head)); + fill(&head); printf(" - Remove the data (traversing the resulting dictionnary each time)\n"); TRYEXPECT(debuged_remove(head,"Does not exist"),mismatch_error); TRYFAIL(traverse(head)); gras_dict_free(&head); + printf(" - Remove data from the NULL dict (error message expected)\n"); TRYCATCH(debuged_remove(head,"12345"),mismatch_error); - TRYFAIL(traverse(head)); + printf(" - Remove each data manually (traversing the resulting dictionnary each time)\n"); + fill(&head); TRYFAIL(debuged_remove(head,"12a")); TRYFAIL(traverse(head)); TRYFAIL(debuged_remove(head,"12b")); TRYFAIL(traverse(head)); TRYFAIL(debuged_remove(head,"12")); TRYFAIL(traverse(head));