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