X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ff021a73f0cd26b2f27ca729783aa486393f9b3a..16ba86f08c16aca21dc67f3083a63e22f6389d02:/testsuite/xbt/dict_usage.c diff --git a/testsuite/xbt/dict_usage.c b/testsuite/xbt/dict_usage.c index 9731321bbc..3bbff8fdcd 100644 --- a/testsuite/xbt/dict_usage.c +++ b/testsuite/xbt/dict_usage.c @@ -50,7 +50,7 @@ static gras_error_t debuged_add(gras_dict_t *head,const char*key) char *data=strdup(key); printf(" - Add %s\n",key); - errcode=gras_dict_insert(head,key,data,&free); + errcode=gras_dict_set(head,key,data,&free); if (GRAS_LOG_ISENABLED(dict,gras_log_priority_debug)) { gras_dict_dump(head,(void (*)(void*))&printf); fflush(stdout); @@ -63,7 +63,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; @@ -82,36 +82,27 @@ static gras_error_t debuged_remove(gras_dict_t *head,const char*key) 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,&print_str); - 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; } -int main() { +int main(int argc,char **argv) { gras_error_t errcode; gras_dict_t *head=NULL; char *data; - // TRY(gras_log_control_set("root.thresh=info dict_collapse.thresh=debug")); - //TRY(gras_log_control_set("root.thresh=info")); - // TRY(gras_log_control_set("root.thresh=info dict_search.thresh=info dict.thresh=debug dict_collapse.thresh=debug log.thresh=debug")); - + gras_init_defaultlog(&argc,argv,"dict.thresh=verbose"); + printf("\nGeneric dictionnary: USAGE test:\n"); printf(" Traverse the empty dictionnary\n"); @@ -120,31 +111,33 @@ int main() { TRYFAIL(fill(&head)); printf(" Free the dictionnary\n"); gras_dict_free(&head); - + printf(" Free the dictionnary again\n"); + gras_dict_free(&head); + TRYFAIL(fill(&head)); printf(" - Change some values\n"); printf(" - Change 123 to 'Changed 123'\n"); - TRYFAIL(gras_dict_insert(head,"123",strdup("Changed 123"),&free)); + TRYFAIL(gras_dict_set(head,"123",strdup("Changed 123"),&free)); printf(" - Change 123 back to '123'\n"); - TRYFAIL(gras_dict_insert(head,"123",strdup("123"),&free)); + TRYFAIL(gras_dict_set(head,"123",strdup("123"),&free)); printf(" - Change 12a to 'Dummy 12a'\n"); - TRYFAIL(gras_dict_insert(head,"12a",strdup("Dummy 12a"),&free)); + TRYFAIL(gras_dict_set(head,"12a",strdup("Dummy 12a"),&free)); printf(" - Change 12a to '12a'\n"); - TRYFAIL(gras_dict_insert(head,"12a",strdup("12a"),&free)); + TRYFAIL(gras_dict_set(head,"12a",strdup("12a"),&free)); // 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")); @@ -160,7 +153,7 @@ int main() { printf(" Free the dictionnary (twice)\n"); gras_dict_free(&head); - gras_dict_free(&head); // frees it twice to see if it triggers an error + gras_dict_free(&head); printf(" - Traverse the resulting dictionnary\n"); TRYFAIL(traverse(head)); @@ -171,9 +164,13 @@ int main() { 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"); + TRYFAIL(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)); @@ -184,8 +181,9 @@ int main() { TRYFAIL(debuged_remove(head,"123")); TRYFAIL(traverse(head)); TRYEXPECT(debuged_remove(head,"12346"),mismatch_error); TRYFAIL(traverse(head)); + printf(" - Free the dictionnary twice\n"); gras_dict_free(&head); gras_dict_free(&head); - + gras_exit(); return 0; }