annotate libtests/0028/prog1.c @ 488:f4dc8e47ee37 api-inversion

Remove dump_query() function. It seems to have been used for printf debugging of test files and never removed. (Debuggers aren't great, but they are better than hand-maintained printing routines for this kind of thing; in particular, gdb will do this for you rather better than dump_query() did.)
author mas01cr
date Sat, 10 Jan 2009 15:32:49 +0000
parents e072aa1611f5
children f6b126b018d8
rev   line source
mas01cr@487 1 #include "audioDB_API.h"
mas01cr@487 2 #include "test_utils_lib.h"
mas01ik@355 3
mas01ik@355 4
mas01ik@355 5 int main(int argc, char **argv){
mas01ik@355 6
mas01ik@355 7 int returnval=0;
mas01ik@355 8 adb_ptr mydbp={0};
mas01ik@355 9 int ivals[10];
mas01ik@355 10 double dvals[10];
mas01ik@355 11 char * databasename="testdb";
mas01ik@355 12 adb_query_t myadbquery={0};
mas01ik@355 13 adb_queryresult_t myadbqueryresult={0};
mas01ik@355 14 int size=0;
mas01ik@355 15 adb_insert_t ins1[2]={{0},{0}};
mas01ik@355 16
mas01ik@355 17
mas01ik@355 18 /* remove old directory */
mas01ik@355 19 //if [ -f testdb ]; then rm -f testdb; fi
mas01ik@355 20 clean_remove_db(databasename);
mas01ik@355 21
mas01ik@355 22 /* create new db */
mas01ik@355 23 //${AUDIODB} -d testdb -N
mas01ik@355 24 mydbp=audiodb_create(databasename,0,0,0);
mas01ik@355 25
mas01ik@355 26 //intstring 2 > testfeature
mas01ik@355 27 //floatstring 0 1 >> testfeature
mas01ik@355 28 //floatstring 1 0 >> testfeature
mas01ik@355 29 ivals[0]=2;
mas01ik@355 30 dvals[0]=0; dvals[1]=1; dvals[2]=1; dvals[3]=0;
mas01ik@355 31 maketestfile("testfeature",ivals,dvals,4);
mas01ik@355 32
mas01ik@355 33 //intstring 1 > testpower
mas01ik@355 34 //floatstring -0.5 >> testpower
mas01ik@355 35 //floatstring -1 >> testpower
mas01ik@355 36 ivals[0]=1;
mas01ik@355 37 dvals[0]=-0.5; dvals[1]=-1;
mas01ik@355 38 maketestfile("testpower",ivals,dvals,2);
mas01ik@355 39
mas01ik@355 40 //echo testfeature > testFeatureList.txt
mas01ik@355 41 //echo testpower > testPowerList.txt
mas01ik@355 42 ins1[0].features="testfeature";
mas01ik@355 43 ins1[0].power="testpower";
mas01ik@355 44
mas01ik@355 45 //expect_clean_error_exit ${AUDIODB} -d testdb -B -F testFeatureList.txt -W testPowerList.txt
mas01ik@355 46 if(!audiodb_batchinsert(mydbp,ins1,1)){
mas01ik@355 47 returnval=-1;
mas01ik@355 48 };
mas01ik@355 49
mas01ik@355 50 //${AUDIODB} -d testdb -P
mas01ik@355 51 if(audiodb_power(mydbp)){
mas01ik@355 52 returnval=-1;
mas01ik@355 53 };
mas01ik@355 54
mas01ik@355 55 //expect_clean_error_exit ${AUDIODB} -d testdb -B -F testFeatureList.txt
mas01ik@355 56 ins1[0].features="testfeature";
mas01ik@355 57 ins1[0].power=NULL;
mas01ik@355 58 if(!audiodb_batchinsert(mydbp,ins1,1)){
mas01ik@355 59 returnval=-1;
mas01ik@355 60 };
mas01ik@355 61
mas01ik@355 62 //${AUDIODB} -d testdb -B -F testFeatureList.txt -W testPowerList.txt
mas01ik@355 63 ins1[0].features="testfeature";
mas01ik@355 64 ins1[0].power="testpower";
mas01ik@355 65 if(audiodb_batchinsert(mydbp,ins1,1)){
mas01ik@355 66 returnval=-1;
mas01ik@355 67 };
mas01ik@355 68
mas01ik@355 69 //# sequence queries require L2NORM
mas01ik@355 70 //${AUDIODB} -d testdb -L
mas01ik@355 71 if(audiodb_l2norm(mydbp)){
mas01ik@355 72 returnval=-1;
mas01ik@355 73 };
mas01ik@355 74
mas01ik@355 75 //# queries without power files should run as before
mas01ik@355 76 //echo "query point (0.0,0.5)"
mas01ik@355 77 //intstring 2 > testquery
mas01ik@355 78 //floatstring 0 0.5 >> testquery
mas01ik@355 79 ivals[0]=2;
mas01ik@355 80 dvals[0]=-0.0; dvals[1]=0.5;
mas01ik@355 81 maketestfile("testquery",ivals,dvals,2);
mas01ik@355 82
mas01ik@355 83 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery > testoutput
mas01ik@355 84 //echo testfeature 1 0 0 > test-expected-output
mas01ik@355 85 //cmp testoutput test-expected-output
mas01ik@355 86 myadbquery.querytype="sequence";
mas01ik@355 87 myadbquery.feature="testquery";
mas01ik@355 88 myadbquery.sequencelength="1";
mas01ik@355 89 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 90 size=myadbqueryresult.sizeRlist;
mas01ik@355 91
mas01ik@355 92 ///* check the test values */
mas01ik@355 93 if (size != 1) {returnval = -1;};
mas01ik@355 94 if (testoneresult(&myadbqueryresult,0,"testfeature",1,0,0)) {returnval = -1;};
mas01ik@355 95
mas01ik@355 96 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -n 1 > testoutput
mas01ik@355 97 //echo testfeature 0 0 0 > test-expected-output
mas01ik@355 98 //cmp testoutput test-expected-output
mas01ik@355 99 myadbquery.querytype="sequence";
mas01ik@355 100 myadbquery.feature="testquery";
mas01ik@355 101 myadbquery.sequencelength="1";
mas01ik@355 102 myadbquery.numpoints="1";
mas01ik@355 103 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 104 size=myadbqueryresult.sizeRlist;
mas01ik@355 105
mas01ik@355 106 ///* check the test values */
mas01ik@355 107 if (size != 1) {returnval = -1;};
mas01ik@355 108 if (testoneresult(&myadbqueryresult,0,"testfeature",0,0,0)) {returnval = -1;};
mas01ik@355 109
mas01ik@355 110 //echo "query point (0.5,0.0)"
mas01ik@355 111 //intstring 2 > testquery
mas01ik@355 112 //floatstring 0.5 0 >> testquery
mas01ik@355 113 ivals[0]=2;
mas01ik@355 114 dvals[0]=0.5; dvals[1]=0.0;
mas01ik@355 115 maketestfile("testquery",ivals,dvals,2);
mas01ik@355 116
mas01ik@355 117
mas01ik@355 118 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery > testoutput
mas01ik@355 119 //echo testfeature 1 0 1 > test-expected-output
mas01ik@355 120 //cmp testoutput test-expected-output
mas01ik@355 121 myadbquery.querytype="sequence";
mas01ik@355 122 myadbquery.feature="testquery";
mas01ik@355 123 myadbquery.sequencelength="1";
mas01ik@355 124 myadbquery.numpoints=NULL;
mas01ik@355 125 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 126 size=myadbqueryresult.sizeRlist;
mas01ik@355 127
mas01ik@355 128 ///* check the test values */
mas01ik@355 129 if (size != 1) {returnval = -1;};
mas01ik@355 130 if (testoneresult(&myadbqueryresult,0,"testfeature",1,0,1)) {returnval = -1;};
mas01ik@355 131
mas01ik@355 132 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -n 1 > testoutput
mas01ik@355 133 //echo testfeature 0 0 1 > test-expected-output
mas01ik@355 134 //cmp testoutput test-expected-output
mas01ik@355 135 myadbquery.querytype="sequence";
mas01ik@355 136 myadbquery.feature="testquery";
mas01ik@355 137 myadbquery.sequencelength="1";
mas01ik@355 138 myadbquery.numpoints="1";
mas01ik@355 139 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 140 size=myadbqueryresult.sizeRlist;
mas01ik@355 141
mas01ik@355 142 ///* check the test values */
mas01ik@355 143 if (size != 1) {returnval = -1;};
mas01ik@355 144 if (testoneresult(&myadbqueryresult,0,"testfeature",0,0,1)) {returnval = -1;};
mas01ik@355 145
mas01ik@355 146 //# queries with power files might do something different
mas01ik@355 147 //echo "query point (0.0,0.5), p=-0.5"
mas01ik@355 148 //intstring 2 > testquery
mas01ik@355 149 //floatstring 0 0.5 >> testquery
mas01ik@355 150 ivals[0]=2;
mas01ik@355 151 dvals[0]=0.0; dvals[1]=0.5;
mas01ik@355 152 maketestfile("testquery",ivals,dvals,2);
mas01ik@355 153
mas01ik@355 154 //intstring 1 > testquerypower
mas01ik@355 155 //floatstring -0.5 >> testquerypower
mas01ik@355 156 ivals[0]=1;
mas01ik@355 157 dvals[0]=-0.5;
mas01ik@355 158 maketestfile("testquerypower",ivals,dvals,1);
mas01ik@355 159
mas01ik@355 160 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testquerypower --absolute-threshold=-1.4 > testoutput
mas01ik@355 161 //echo testfeature 1 0 0 > test-expected-output
mas01ik@355 162 //cmp testoutput test-expected-output
mas01ik@355 163 myadbquery.querytype="sequence";
mas01ik@355 164 myadbquery.feature="testquery";
mas01ik@355 165 myadbquery.power="testquerypower";
mas01ik@355 166 myadbquery.sequencelength="1";
mas01ik@355 167 myadbquery.absolute_threshold=-1.4;
mas01ik@355 168 myadbquery.numpoints=NULL;
mas01ik@355 169 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 170 size=myadbqueryresult.sizeRlist;
mas01ik@355 171
mas01ik@355 172 ///* check the test values */
mas01ik@355 173 if (size != 1) {returnval = -1;};
mas01ik@355 174 if (testoneresult(&myadbqueryresult,0,"testfeature",1,0,0)) {returnval = -1;};
mas01ik@355 175
mas01ik@355 176 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testquerypower --absolute-threshold=-0.6 > testoutput
mas01ik@355 177 //echo testfeature 0 0 0 > test-expected-output
mas01ik@355 178 //cmp testoutput test-expected-output
mas01ik@355 179 myadbquery.querytype="sequence";
mas01ik@355 180 myadbquery.feature="testquery";
mas01ik@355 181 myadbquery.power="testquerypower";
mas01ik@355 182 myadbquery.sequencelength="1";
mas01ik@355 183 myadbquery.absolute_threshold=-0.6;
mas01ik@355 184 myadbquery.numpoints=NULL;
mas01ik@355 185 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 186 size=myadbqueryresult.sizeRlist;
mas01ik@355 187
mas01ik@355 188 ///* check the test values */
mas01ik@355 189 if (size != 1) {returnval = -1;};
mas01ik@355 190 if (testoneresult(&myadbqueryresult,0,"testfeature",0,0,0)) {returnval = -1;};
mas01ik@355 191
mas01ik@355 192 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testquerypower --absolute-threshold=-0.2 > testoutput
mas01ik@355 193 //cat /dev/null > test-expected-output
mas01ik@355 194 //cmp testoutput test-expected-output
mas01ik@355 195 myadbquery.querytype="sequence";
mas01ik@355 196 myadbquery.feature="testquery";
mas01ik@355 197 myadbquery.power="testquerypower";
mas01ik@355 198 myadbquery.sequencelength="1";
mas01ik@355 199 myadbquery.absolute_threshold=-0.2;
mas01ik@355 200 myadbquery.numpoints=NULL;
mas01ik@355 201 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 202 size=myadbqueryresult.sizeRlist;
mas01ik@355 203
mas01ik@355 204 ///* check the test values */
mas01ik@355 205 if (size != 0) {returnval = -1;};
mas01ik@355 206
mas01ik@355 207 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testquerypower --relative-threshold=1 > testoutput
mas01ik@355 208 //audioDB -Q sequence -d testdb -f testquery -w testquerypower -l 1 --relative-threshold 1.000000
mas01ik@355 209 //echo testfeature 1 0 0 > test-expected-output
mas01ik@355 210 //cmp testoutput test-expected-output
mas01ik@355 211 myadbquery.querytype="sequence";
mas01ik@355 212 myadbquery.feature="testquery";
mas01ik@355 213 myadbquery.power="testquerypower";
mas01ik@355 214 myadbquery.sequencelength="1";
mas01ik@355 215 myadbquery.absolute_threshold=0.0;
mas01ik@355 216 myadbquery.relative_threshold=1.0;
mas01ik@355 217 myadbquery.numpoints=NULL;
mas01ik@355 218 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 219 size=myadbqueryresult.sizeRlist;
mas01ik@355 220
mas01ik@355 221 ///* check the test values */
mas01ik@355 222 if (size != 1) {returnval = -1;};
mas01ik@355 223 if (testoneresult(&myadbqueryresult,0,"testfeature",1,0,0)) {returnval = -1;};
mas01ik@355 224
mas01ik@355 225 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testquerypower --relative-threshold=0.2 > testoutput
mas01ik@355 226 //echo testfeature 0 0 0 > test-expected-output
mas01ik@355 227 //cmp testoutput test-expected-output
mas01ik@355 228 myadbquery.querytype="sequence";
mas01ik@355 229 myadbquery.feature="testquery";
mas01ik@355 230 myadbquery.power="testquerypower";
mas01ik@355 231 myadbquery.sequencelength="1";
mas01ik@355 232 myadbquery.absolute_threshold=0.0;
mas01ik@355 233 myadbquery.relative_threshold=0.2;
mas01ik@355 234 myadbquery.numpoints=NULL;
mas01ik@355 235 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 236 size=myadbqueryresult.sizeRlist;
mas01ik@355 237
mas01ik@355 238 ///* check the test values */
mas01ik@355 239 if (size != 1) {returnval = -1;};
mas01ik@355 240 if (testoneresult(&myadbqueryresult,0,"testfeature",0,0,0)) {returnval = -1;};
mas01ik@355 241
mas01ik@355 242 ////echo "query point (0.5,0.0), p=-0.5"
mas01ik@355 243 ////intstring 2 > testquery
mas01ik@355 244 ////floatstring 0.5 0 >> testquery
mas01ik@355 245 ivals[0]=2;
mas01ik@355 246 dvals[0]=0.5; dvals[1]=0.0;
mas01ik@355 247 maketestfile("testquery",ivals,dvals,2);
mas01ik@355 248
mas01ik@355 249 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testquerypower --absolute-threshold=-1.4 > testoutput
mas01ik@355 250 //echo testfeature 1 0 1 > test-expected-output
mas01ik@355 251 //cmp testoutput test-expected-output
mas01ik@355 252 myadbquery.querytype="sequence";
mas01ik@355 253 myadbquery.feature="testquery";
mas01ik@355 254 myadbquery.power="testquerypower";
mas01ik@355 255 myadbquery.sequencelength="1";
mas01ik@355 256 myadbquery.absolute_threshold=-1.4;
mas01ik@355 257 myadbquery.relative_threshold=0.0;
mas01ik@355 258 myadbquery.numpoints=NULL;
mas01ik@355 259 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 260 size=myadbqueryresult.sizeRlist;
mas01ik@355 261
mas01ik@355 262 ///* check the test values */
mas01ik@355 263 if (size != 1) {returnval = -1;};
mas01ik@355 264 if (testoneresult(&myadbqueryresult,0,"testfeature",1,0,1)) {returnval = -1;};
mas01ik@355 265
mas01ik@355 266 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testquerypower --absolute-threshold=-0.6 > testoutput
mas01ik@355 267 //echo testfeature 2 0 0 > test-expected-output
mas01ik@355 268 //cmp testoutput test-expected-output
mas01ik@355 269 myadbquery.querytype="sequence";
mas01ik@355 270 myadbquery.feature="testquery";
mas01ik@355 271 myadbquery.power="testquerypower";
mas01ik@355 272 myadbquery.sequencelength="1";
mas01ik@355 273 myadbquery.absolute_threshold=-0.6;
mas01ik@355 274 myadbquery.relative_threshold=0.0;
mas01ik@355 275 myadbquery.numpoints=NULL;
mas01ik@355 276 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 277 size=myadbqueryresult.sizeRlist;
mas01ik@355 278
mas01ik@355 279 ///* check the test values */
mas01ik@355 280 if (size != 1) {returnval = -1;};
mas01ik@355 281 if (testoneresult(&myadbqueryresult,0,"testfeature",2,0,0)) {returnval = -1;};
mas01ik@355 282
mas01ik@355 283 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testquerypower --absolute-threshold=-0.2 > testoutput
mas01ik@355 284 //cat /dev/null > test-expected-output
mas01ik@355 285 //cmp testoutput test-expected-output
mas01ik@355 286 myadbquery.querytype="sequence";
mas01ik@355 287 myadbquery.feature="testquery";
mas01ik@355 288 myadbquery.power="testquerypower";
mas01ik@355 289 myadbquery.sequencelength="1";
mas01ik@355 290 myadbquery.absolute_threshold=-0.2;
mas01ik@355 291 myadbquery.relative_threshold=0.0;
mas01ik@355 292 myadbquery.numpoints=NULL;
mas01ik@355 293 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 294 size=myadbqueryresult.sizeRlist;
mas01ik@355 295
mas01ik@355 296 ///* check the test values */
mas01ik@355 297 if (size != 0) {returnval = -1;};
mas01ik@355 298
mas01ik@355 299 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testquerypower --relative-threshold=1 > testoutput
mas01ik@355 300 //echo testfeature 1 0 1 > test-expected-output
mas01ik@355 301 //cmp testoutput test-expected-output
mas01ik@355 302 myadbquery.querytype="sequence";
mas01ik@355 303 myadbquery.feature="testquery";
mas01ik@355 304 myadbquery.power="testquerypower";
mas01ik@355 305 myadbquery.sequencelength="1";
mas01ik@355 306 myadbquery.relative_threshold=1.0;
mas01ik@355 307 myadbquery.absolute_threshold=0.0;
mas01ik@355 308 myadbquery.numpoints=NULL;
mas01ik@355 309 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 310 size=myadbqueryresult.sizeRlist;
mas01ik@355 311
mas01ik@355 312 ///* check the test values */
mas01ik@355 313 if (size != 1) {returnval = -1;};
mas01ik@355 314 if (testoneresult(&myadbqueryresult,0,"testfeature",1,0,1)) {returnval = -1;};
mas01ik@355 315
mas01ik@355 316 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testquerypower --relative-threshold=0.2 > testoutput
mas01ik@355 317 //echo testfeature 2 0 0 > test-expected-output
mas01ik@355 318 //cmp testoutput test-expected-output
mas01ik@355 319 myadbquery.querytype="sequence";
mas01ik@355 320 myadbquery.feature="testquery";
mas01ik@355 321 myadbquery.power="testquerypower";
mas01ik@355 322 myadbquery.sequencelength="1";
mas01ik@355 323 myadbquery.relative_threshold=0.2;
mas01ik@355 324 myadbquery.absolute_threshold=0.0;
mas01ik@355 325 myadbquery.numpoints=NULL;
mas01ik@355 326 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 327 size=myadbqueryresult.sizeRlist;
mas01ik@355 328
mas01ik@355 329 ///* check the test values */
mas01ik@355 330 if (size != 1) {returnval = -1;};
mas01ik@355 331 if (testoneresult(&myadbqueryresult,0,"testfeature",2,0,0)) {returnval = -1;};
mas01ik@355 332
mas01ik@355 333
mas01ik@355 334 audiodb_close(mydbp);
mas01ik@355 335 //fprintf(stderr,"returnval:%d\n",returnval);
mas01ik@355 336
mas01ik@355 337 return(returnval);
mas01ik@355 338 }
mas01ik@355 339