X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ff021a73f0cd26b2f27ca729783aa486393f9b3a..62f9057c5250b460384dd7d2e10d9b7bb2be3e5d:/testsuite/xbt/dict_crash.c diff --git a/testsuite/xbt/dict_crash.c b/testsuite/xbt/dict_crash.c index 71fd12090a..9b9058c79d 100644 --- a/testsuite/xbt/dict_crash.c +++ b/testsuite/xbt/dict_crash.c @@ -2,17 +2,17 @@ /* dict_crash - A crash test for dictionnaries */ -/* 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 "gras.h" #include #include +#include -#define NB_ELM 200000 +#define NB_ELM 20000 #define SIZEOFKEY 1024 static void print_str(void *str); @@ -20,54 +20,41 @@ static void print_str(void *str) { printf("%s",(char*)str); } +XBT_LOG_NEW_DEFAULT_CATEGORY(test,"Logging specific to this test"); -static gras_error_t traverse(gras_dict_t *head) { - gras_error_t errcode; - gras_dict_cursor_t *cursor=NULL; +static xbt_error_t traverse(xbt_dict_t head) { + xbt_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)); - // printf(" Seen: %s=%s\n",key,data); - if (strcmp(key,data)) { - printf("Key(%s) != value(%s). Abording\n",key,data); - abort(); - } + xbt_dict_foreach(head,cursor,key,data) { + /* printf(" Seen: %s=%s\n",key,data); */ + xbt_assert2 (!strcmp(key,data), + "Key(%s) != value(%s). Abording\n",key,data); } - 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; +static xbt_error_t countelems(xbt_dict_t head,int*count) { + xbt_dict_cursor_t cursor; 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)); + xbt_dict_foreach(head,cursor,key,data) { (*count)++; } return no_error; } -int main() { - gras_error_t errcode; - gras_dict_t *head=NULL; +int main(int argc,char **argv) { + xbt_error_t errcode; + xbt_dict_t head=NULL; int i,j,k, nb; char *key; void *data; - TRY(gras_log_control_set("root.thresh=info")); + xbt_init_defaultlog(&argc,argv,"dict.thresh=verbose"); srand((unsigned int)time(NULL)); printf("Dictionnary: CRASH test:\n"); @@ -76,7 +63,7 @@ int main() { printf(" (a point is a test)\n"); for (i=0;i<20;i++) { - TRYFAIL(gras_dict_new(&head)); + head=xbt_dict_new(); if (i%10) printf("."); else printf("%d",i/10); fflush(stdout); nb=0; for (j=0;j<1000;j++) { @@ -88,40 +75,44 @@ int main() { for (k=0;k