int main(int argc,char *argv[]) {
gras_dynar_t *d;
gras_error_t errcode;
- int cpt;
+ int cpt,cursor;
double d1,d2;
+ fprintf(stderr,"==== Traverse the empty dynar\n");
+ TRYFAIL(gras_dynar_new(&d,sizeof(int),NULL));
+ gras_dynar_foreach(d,cursor,cpt){
+ fprintf(stderr,
+ "Damnit, there is something in the empty dynar\n");
+ abort();
+ }
+ gras_dynar_free(d);
+
fprintf(stderr,"==== Push/shift 5000 doubles\n");
TRYFAIL(gras_dynar_new(&d,sizeof(double),NULL));
for (cpt=0; cpt< 5000; cpt++) {
d1=(double)cpt;
TRYFAIL(gras_dynar_push(d,&d1));
}
+ gras_dynar_foreach(d,cursor,d2){
+ d1=(double)cursor;
+ if (d1 != d2) {
+ fprintf(stderr,
+ "The retrieved value is not the same than the injected one (%f!=%f)\n",
+ d1,d2);
+ abort();
+ }
+ }
for (cpt=0; cpt< 5000; cpt++) {
d1=(double)cpt;
gras_dynar_shift(d,&d2);
#include <gras.h>
#define NB_ELEM 5000
+GRAS_LOG_NEW_DEFAULT_CATEGORY(test);
int main(int argc,char *argv[]) {
gras_dynar_t *d;
int i,cpt,cursor;
// TRYFAIL(gras_log_control_set("root.thresh=debug dynar.thresh=info"));
- TRYFAIL(gras_log_control_set("root.thresh=info"));
- fprintf(stderr,"==== Push %d int, set them again 3 times, traverse them, shift them\n",NB_ELEM);
+ TRYFAIL(gras_log_control_set("dynar.thresh=debug root.thresh=info"));
+ fprintf(stderr,"==== Traverse the empty dynar\n");
+ TRYFAIL(gras_dynar_new(&d,sizeof(int),NULL));
+ gras_dynar_foreach(d,cursor,i){
+ fprintf(stderr,
+ "Damnit, there is something in the empty dynar\n");
+ abort();
+ }
+ gras_dynar_free(d);
+
+ fprintf(stderr,
+ "==== Push %d int, set them again 3 times, traverse them, shift them\n",
+ NB_ELEM);
TRYFAIL(gras_dynar_new(&d,sizeof(int),NULL));
for (cpt=0; cpt< NB_ELEM; cpt++) {
TRYFAIL(gras_dynar_push(d,&cpt));
- // fprintf (stderr,"Push %d, length=%d \n",cpt, gras_dynar_length(d));
+ //fprintf (stderr,"Push %d, length=%d \n",cpt, gras_dynar_length(d));
+ }
+ for (cursor=0; cursor< NB_ELEM; cursor++) {
+ gras_dynar_get(d,cursor,&cpt);
+ gras_assert2(cursor == cpt,
+ "The retrieved value is not the same than the injected one (%d!=%d)",
+ cursor,cpt);
+ }
+ gras_dynar_foreach(d,cursor,cpt){
+ gras_assert2(cursor == cpt,
+ "The retrieved value is not the same than the injected one (%d!=%d)",
+ cursor,cpt);
}
for (cpt=0; cpt< NB_ELEM; cpt++) {
TRYFAIL(gras_dynar_set(d,cpt,&cpt));
int main(int argc,char *argv[]) {
gras_dynar_t *d;
gras_error_t errcode;
- int cpt;
+ int cpt,i;
char buf[1024];
char *s1,*s2;
+ fprintf(stderr,"==== Traverse the empty dynar\n");
+ TRYFAIL(gras_dynar_new(&d,sizeof(int),NULL));
+ gras_dynar_foreach(d,cpt,i){
+ fprintf(stderr,
+ "Damnit, there is something in the empty dynar\n");
+ abort();
+ }
+ gras_dynar_free(d);
+
fprintf(stderr,"==== Push 5000 strings, set them again 3 times, shift them\n");
TRYFAIL(gras_dynar_new(&d,sizeof(char*),&free_string));
for (cpt=0; cpt< 5000; cpt++) {