annotate libtests/test_utils_lib.h @ 369:6564be3109c5 gcc-4.3-cleanups

gcc-4.3 warning cleanups for lshlib.cpp (I do not believe that any of these changes contain significant copyrightable "intellectual property". However, to the extent that they do, the changes are hereby released into the Public Domain, and may be therefore be used by anyone for any purpose without need for consideration of any kind.)
author mas01cr
date Wed, 12 Nov 2008 15:23:32 +0000
parents 94c18f128ce8
children 7e6c99481b8b
rev   line source
mas01ik@355 1 void delete_dir(char * dirname);
mas01ik@355 2 void clean_remove_db(char * dirname);
mas01ik@355 3 void test_status(adb_ptr d, adb_status_ptr b);
mas01ik@355 4 unsigned int test_insert( adb_ptr d, char * features, char * power, char * key);
mas01ik@355 5 void dump_query(adb_query_ptr adbq, adb_queryresult_ptr myadbqueryresult);
mas01ik@355 6 int testoneresult(adb_queryresult_ptr myadbqueryresult, int i, char * Rlist, double Dist,double Qpos,double Spos);
mas01ik@355 7 double doubleabs(double foo);
mas01ik@355 8 void maketestfile(char * filename, int * ivals, double * dvals, int dvalsize);
mas01ik@355 9 int testoneradiusresult(adb_queryresult_ptr myadbqueryresult, int i, char * Rlist, double Dist);
mas01ik@355 10 void makekeylistfile(char * filename, char * item);
mas01ik@355 11
mas01ik@355 12
mas01ik@355 13
mas01ik@355 14
mas01ik@355 15 /* clean remove */
mas01ik@355 16 void clean_remove_db(char * dbname){
mas01ik@355 17
mas01ik@355 18 FILE* db=0;
mas01ik@355 19
mas01ik@355 20 db=fopen(dbname,"r");
mas01ik@355 21
mas01ik@355 22 if (!db){
mas01ik@355 23 return;
mas01ik@355 24 }
mas01ik@355 25
mas01ik@355 26
mas01ik@355 27 fclose(db);
mas01ik@355 28 remove(dbname);
mas01ik@355 29
mas01ik@355 30 return;
mas01ik@355 31
mas01ik@355 32 }
mas01ik@355 33
mas01ik@355 34
mas01ik@355 35 /* delete directory */
mas01ik@355 36 void delete_dir(char * dirname){
mas01ik@355 37
mas01ik@355 38 struct dirent *d;
mas01ik@355 39 DIR *dir;
mas01ik@355 40 char buf[256];
mas01ik@355 41
mas01ik@355 42 printf("Deleting directory '%s' and all files\n", dirname);
mas01ik@355 43 dir = opendir(dirname);
mas01ik@355 44
mas01ik@355 45 if (dir){
mas01ik@355 46 while((d = readdir(dir))) {
mas01ik@355 47 //printf("Deleting %s in %s\n",d->d_name, dirname);
mas01ik@355 48 sprintf(buf, "%s/%s", dirname, d->d_name);
mas01ik@355 49 remove(buf);
mas01ik@355 50 }
mas01ik@355 51 }
mas01ik@355 52 closedir(dir);
mas01ik@355 53
mas01ik@355 54 rmdir(dirname);
mas01ik@355 55
mas01ik@355 56
mas01ik@355 57 return;
mas01ik@355 58
mas01ik@355 59 }
mas01ik@355 60
mas01ik@355 61
mas01ik@355 62 unsigned int test_insert(
mas01ik@355 63 adb_ptr d,
mas01ik@355 64 char * features,
mas01ik@355 65 char * power,
mas01ik@355 66 char * key
mas01ik@355 67 ){
mas01ik@355 68
mas01ik@355 69 adb_insert_t myinsert={0};
mas01ik@355 70 unsigned int myerr=0;
mas01ik@355 71
mas01ik@355 72 printf("Insert:\n");
mas01ik@355 73 myinsert.features=features;
mas01ik@355 74 myinsert.power=power;
mas01ik@355 75 myinsert.key=key;
mas01ik@355 76 myerr=audiodb_insert(d,&myinsert);
mas01ik@355 77 printf("\n");
mas01ik@355 78
mas01ik@355 79 return myerr;
mas01ik@355 80
mas01ik@355 81 }
mas01ik@355 82
mas01ik@355 83 void test_status(adb_ptr d, adb_status_ptr b){
mas01ik@355 84
mas01ik@355 85 /* get the status of the database */
mas01ik@355 86 audiodb_status(d,b);
mas01ik@355 87
mas01ik@355 88 /* could probably make this look a bit more clever, but it works for now */
mas01ik@355 89 printf("numFiles:\t%d\n",b->numFiles);
mas01ik@355 90 printf("dim:\t%d\n",b->dim);
mas01ik@355 91 printf("length:\t%d\n",b->length);
mas01ik@355 92 printf("dudCount:\t%d\n",b->dudCount);
mas01ik@355 93 printf("nullCount:\t%d\n",b->nullCount);
mas01ik@355 94 printf("flags:\t%d\n",b->flags);
mas01ik@355 95
mas01ik@355 96 return;
mas01ik@355 97 }
mas01ik@355 98
mas01ik@355 99
mas01ik@355 100 void dump_query(adb_query_ptr adbq, adb_queryresult_ptr myadbqueryresult){
mas01ik@355 101
mas01ik@355 102 int size=0;
mas01ik@355 103 int i=0;
mas01ik@355 104
mas01ik@355 105 size=myadbqueryresult->sizeRlist;
mas01ik@355 106
mas01ik@355 107 printf("Dumping query:\n");
mas01ik@355 108 for(i=0; i<size; i++){
mas01ik@355 109 printf("\t'%s' query: Result %02d:%s is dist:%f qpos:%d spos:%d\n",
mas01ik@355 110 adbq->querytype,
mas01ik@355 111 i,
mas01ik@355 112 myadbqueryresult->Rlist[i],
mas01ik@355 113 myadbqueryresult->Dist[i],
mas01ik@355 114 myadbqueryresult->Qpos[i],
mas01ik@355 115 myadbqueryresult->Spos[i]
mas01ik@355 116 );
mas01ik@355 117 }
mas01ik@355 118 printf("\n");
mas01ik@355 119
mas01ik@355 120 }
mas01ik@355 121
mas01ik@355 122
mas01ik@355 123
mas01ik@355 124 int testoneresult(adb_queryresult_ptr myadbqueryresult, int i, char * Rlist, double Dist,double Qpos,double Spos){
mas01ik@355 125
mas01ik@355 126 int ret=0;
mas01ik@355 127 double tolerance=.0001;
mas01ik@355 128
mas01ik@355 129
mas01ik@355 130
mas01ik@355 131 if (strcmp(Rlist,myadbqueryresult->Rlist[i])){
mas01ik@355 132 ret=-1;
mas01ik@355 133 }
mas01ik@355 134
mas01ik@355 135
mas01ik@355 136 if (doubleabs((double)Dist - (double)myadbqueryresult->Dist[i]) > tolerance){
mas01ik@355 137 ret=-1;
mas01ik@355 138 }
mas01ik@355 139
mas01ik@355 140 if (doubleabs((double)Qpos - (double)myadbqueryresult->Qpos[i]) > tolerance){
mas01ik@355 141 ret=-1;
mas01ik@355 142 }
mas01ik@355 143
mas01ik@355 144 if (doubleabs((double)Spos - (double)myadbqueryresult->Spos[i]) > tolerance){
mas01ik@355 145 ret=-1;
mas01ik@355 146 }
mas01ik@355 147
mas01ik@355 148 return ret;
mas01ik@355 149 }
mas01ik@355 150
mas01ik@355 151
mas01ik@355 152 int testoneradiusresult(adb_queryresult_ptr myadbqueryresult, int i, char * Rlist, double Dist){
mas01ik@355 153
mas01ik@355 154 int ret=0;
mas01ik@355 155 double tolerance=.0001;
mas01ik@355 156
mas01ik@355 157
mas01ik@355 158
mas01ik@355 159 if (strcmp(Rlist,myadbqueryresult->Rlist[i])){
mas01ik@355 160 ret=-1;
mas01ik@355 161 }
mas01ik@355 162
mas01ik@355 163
mas01ik@355 164 if (doubleabs((double)Dist - (double)myadbqueryresult->Dist[i]) > tolerance){
mas01ik@355 165 ret=-1;
mas01ik@355 166 }
mas01ik@355 167
mas01ik@355 168 //if (doubleabs((double)Qpos - (double)myadbqueryresult->Qpos[i]) > tolerance){
mas01ik@355 169 // ret=-1;
mas01ik@355 170 //}
mas01ik@355 171
mas01ik@355 172 //if (doubleabs((double)Spos - (double)myadbqueryresult->Spos[i]) > tolerance){
mas01ik@355 173 // ret=-1;
mas01ik@355 174 //}
mas01ik@355 175
mas01ik@355 176 return ret;
mas01ik@355 177 }
mas01ik@355 178
mas01ik@355 179
mas01ik@355 180 double doubleabs(double foo){
mas01ik@355 181
mas01ik@355 182 double retval=foo;
mas01ik@355 183
mas01ik@355 184 if (foo < 0.0) {
mas01ik@355 185 retval=foo * -1.0;
mas01ik@355 186 }
mas01ik@355 187
mas01ik@355 188 return retval;
mas01ik@355 189 }
mas01ik@355 190
mas01ik@355 191
mas01ik@355 192
mas01ik@355 193 void maketestfile(char * filename, int * ivals, double * dvals, int dvalsize) {
mas01ik@355 194
mas01ik@355 195 FILE * myfile;
mas01ik@355 196
mas01ik@355 197 myfile=fopen(filename,"w");
mas01ik@355 198 fwrite(ivals,sizeof(int),1,myfile);
mas01ik@355 199 fwrite(dvals,sizeof(double),dvalsize,myfile);
mas01ik@355 200 fflush(myfile);
mas01ik@355 201 fclose(myfile);
mas01ik@355 202
mas01ik@355 203 /* should probably test for success, but then it is a test suite already... */
mas01ik@355 204 }
mas01ik@355 205
mas01ik@355 206
mas01ik@355 207
mas01ik@355 208 void makekeylistfile(char * filename, char * item){
mas01ik@355 209
mas01ik@355 210 FILE * myfile;
mas01ik@355 211
mas01ik@355 212 myfile=fopen(filename,"w");
mas01ik@355 213 fprintf(myfile,"%s\n",item);
mas01ik@355 214 fflush(myfile);
mas01ik@355 215 fclose(myfile);
mas01ik@355 216
mas01ik@355 217 }
mas01ik@355 218
mas01ik@355 219
mas01ik@355 220
mas01ik@355 221
mas01ik@355 222