annotate libtests/0033/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 adb_insert_t myinsert={0};
mas01ik@355 25 char * databasename="testdb";
mas01ik@355 26 adb_query_t myadbquery={0};
mas01ik@355 27 adb_queryresult_t myadbqueryresult={0};
mas01ik@355 28 int size=0;
mas01ik@355 29
mas01ik@355 30 /* remove old directory */
mas01ik@355 31 //if [ -f testdb ]; then rm -f testdb; fi
mas01ik@355 32 clean_remove_db(databasename);
mas01ik@355 33
mas01ik@355 34 /* create new db */
mas01ik@355 35 //${AUDIODB} -d testdb -N
mas01ik@355 36 mydbp=audiodb_create(databasename,0,0,0);
mas01ik@355 37
mas01ik@355 38 //intstring 2 > testfeature01
mas01ik@355 39 //floatstring 0 1 >> testfeature01
mas01ik@355 40 //intstring 2 > testfeature10
mas01ik@355 41 //floatstring 1 0 >> testfeature10
mas01ik@355 42 ivals[0]=2;
mas01ik@355 43 dvals[0]=0; dvals[1]=1;
mas01ik@355 44 maketestfile("testfeature01",ivals,dvals,2);
mas01ik@355 45 ivals[0]=2;
mas01ik@355 46 dvals[0]=1; dvals[1]=0;
mas01ik@355 47 maketestfile("testfeature10",ivals,dvals,2);
mas01ik@355 48
mas01ik@355 49 //${AUDIODB} -d testdb -I -f testfeature01
mas01ik@355 50 //${AUDIODB} -d testdb -I -f testfeature10
mas01ik@355 51 myinsert.features="testfeature01";
mas01ik@355 52 if(audiodb_insert(mydbp,&myinsert)) {returnval = -1; };
mas01ik@355 53 myinsert.features="testfeature10";
mas01ik@355 54 if(audiodb_insert(mydbp,&myinsert)) {returnval = -1; };
mas01ik@355 55
mas01ik@355 56 //# sequence queries require L2NORM
mas01ik@355 57 //${AUDIODB} -d testdb -L
mas01ik@355 58 if (audiodb_l2norm(mydbp)) {returnval=-1;};
mas01ik@355 59
mas01ik@355 60 //echo "query point (0.0,0.5)"
mas01ik@355 61 //intstring 2 > testquery
mas01ik@355 62 //floatstring 0 0.5 >> testquery
mas01ik@355 63 ivals[0]=2;
mas01ik@355 64 dvals[0]=0; dvals[1]=0.5;
mas01ik@355 65 maketestfile("testquery",ivals,dvals,2);
mas01ik@355 66
mas01ik@355 67 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -R 5 > testoutput
mas01ik@355 68 //audioDB -Q sequence -d testdb -f testquery -R 5 -l 1
mas01ik@355 69 //echo testfeature01 1 > test-expected-output
mas01ik@355 70 //echo testfeature10 1 >> test-expected-output
mas01ik@355 71 //cmp testoutput test-expected-output
mas01ik@355 72 myadbquery.querytype="sequence";
mas01ik@355 73 myadbquery.feature="testquery";
mas01ik@355 74 myadbquery.sequencelength="1";
mas01ik@355 75 myadbquery.radius="5";
mas01ik@355 76 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 77 size=myadbqueryresult.sizeRlist;
mas01ik@355 78
mas01ik@355 79 /* check the test values */
mas01ik@355 80 if (size != 2) {returnval = -1;};
mas01ik@355 81 if (testoneradiusresult(&myadbqueryresult,0,"testfeature01",1)) {returnval = -1;};
mas01ik@355 82 if (testoneradiusresult(&myadbqueryresult,1,"testfeature10",1)) {returnval = -1;};
mas01ik@355 83
mas01ik@355 84 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -K /dev/null -R 5 > testoutput
mas01ik@355 85 //cat /dev/null > test-expected-output
mas01ik@355 86 //cmp testoutput test-expected-output
mas01ik@355 87 myadbquery.querytype="sequence";
mas01ik@355 88 myadbquery.feature="testquery";
mas01ik@355 89 myadbquery.keylist="/dev/null";
mas01ik@355 90 myadbquery.sequencelength="1";
mas01ik@355 91 myadbquery.radius="5";
mas01ik@355 92 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 93 size=myadbqueryresult.sizeRlist;
mas01ik@355 94
mas01ik@355 95 /* check the test values */
mas01ik@355 96 if (size != 0) {returnval = -1;};
mas01ik@355 97
mas01ik@355 98
mas01ik@355 99
mas01ik@355 100 //echo testfeature01 > testkl.txt
mas01ik@355 101 makekeylistfile("testkl.txt","testfeature01");
mas01ik@355 102 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -K testkl.txt -R 5 > testoutput
mas01ik@355 103 //echo testfeature01 1 > test-expected-output
mas01ik@355 104 //cmp testoutput test-expected-output
mas01ik@355 105 myadbquery.querytype="sequence";
mas01ik@355 106 myadbquery.feature="testquery";
mas01ik@355 107 myadbquery.keylist="testkl.txt";
mas01ik@355 108 myadbquery.sequencelength="1";
mas01ik@355 109 myadbquery.radius="5";
mas01ik@355 110 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 111 size=myadbqueryresult.sizeRlist;
mas01ik@355 112
mas01ik@355 113 /* check the test values */
mas01ik@355 114 if (size != 1) {returnval = -1;};
mas01ik@355 115 if (testoneradiusresult(&myadbqueryresult,0,"testfeature01",1)) {returnval = -1;};
mas01ik@355 116
mas01ik@355 117 //echo testfeature10 > testkl.txt
mas01ik@355 118 makekeylistfile("testkl.txt","testfeature10");
mas01ik@355 119 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -K testkl.txt -R 5 > testoutput
mas01ik@355 120 //echo testfeature10 1 > test-expected-output
mas01ik@355 121 //cmp testoutput test-expected-output
mas01ik@355 122 myadbquery.querytype="sequence";
mas01ik@355 123 myadbquery.feature="testquery";
mas01ik@355 124 myadbquery.keylist="testkl.txt";
mas01ik@355 125 myadbquery.sequencelength="1";
mas01ik@355 126 myadbquery.radius="5";
mas01ik@355 127 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 128 size=myadbqueryresult.sizeRlist;
mas01ik@355 129
mas01ik@355 130 /* check the test values */
mas01ik@355 131 if (size != 1) {returnval = -1;};
mas01ik@355 132 if (testoneradiusresult(&myadbqueryresult,0,"testfeature10",1)) {returnval = -1;};
mas01ik@355 133
mas01ik@355 134 //echo testfeature10 > testkl.txt
mas01ik@355 135 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -K testkl.txt -r 1 -R 5 > testoutput
mas01ik@355 136 //echo testfeature10 1 > test-expected-output
mas01ik@355 137 //cmp testoutput test-expected-output
mas01ik@355 138 myadbquery.querytype="sequence";
mas01ik@355 139 myadbquery.feature="testquery";
mas01ik@355 140 myadbquery.keylist="testkl.txt";
mas01ik@355 141 myadbquery.sequencelength="1";
mas01ik@355 142 myadbquery.radius="5";
mas01ik@355 143 myadbquery.resultlength="1";
mas01ik@355 144 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 145 size=myadbqueryresult.sizeRlist;
mas01ik@355 146
mas01ik@355 147 /* check the test values */
mas01ik@355 148 if (size != 1) {returnval = -1;};
mas01ik@355 149 if (testoneradiusresult(&myadbqueryresult,0,"testfeature10",1)) {returnval = -1;};
mas01ik@355 150
mas01ik@355 151
mas01ik@355 152 //# NB: one might be tempted to insert a test here for having both keys
mas01ik@355 153 //# in the keylist, but in non-database order, and then checking that
mas01ik@355 154 //# the result list is also in that non-database order. I think that
mas01ik@355 155 //# would be misguided, as the efficient way of dealing with such a
mas01ik@355 156 //# keylist is to advance as-sequentially-as-possible through the
mas01ik@355 157 //# database; it just so happens that our current implementation is not
mas01ik@355 158 //# so smart.
mas01ik@355 159
mas01ik@355 160 //echo "query point (0.5,0.0)"
mas01ik@355 161 //intstring 2 > testquery
mas01ik@355 162 //floatstring 0.5 0 >> testquery
mas01ik@355 163 ivals[0]=2;
mas01ik@355 164 dvals[0]=0.5; dvals[1]=0.0;
mas01ik@355 165 maketestfile("testquery",ivals,dvals,2);
mas01ik@355 166
mas01ik@355 167 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -R 5 > testoutput
mas01ik@355 168 //echo testfeature01 1 > test-expected-output
mas01ik@355 169 //echo testfeature10 1 >> test-expected-output
mas01ik@355 170 //cmp testoutput test-expected-output
mas01ik@355 171 myadbquery.querytype="sequence";
mas01ik@355 172 myadbquery.feature="testquery";
mas01ik@355 173 myadbquery.keylist=NULL;
mas01ik@355 174 myadbquery.sequencelength="1";
mas01ik@355 175 myadbquery.radius="5";
mas01ik@355 176 myadbquery.resultlength=NULL;
mas01ik@355 177 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 178 size=myadbqueryresult.sizeRlist;
mas01ik@355 179
mas01ik@355 180 /* check the test values */
mas01ik@355 181 if (size != 2) {returnval = -1;};
mas01ik@355 182 if (testoneradiusresult(&myadbqueryresult,0,"testfeature01",1)) {returnval = -1;};
mas01ik@355 183 if (testoneradiusresult(&myadbqueryresult,1,"testfeature10",1)) {returnval = -1;};
mas01ik@355 184
mas01ik@355 185 //echo testfeature10 > testkl.txt
mas01ik@355 186 //${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -K testkl.txt -r 1 -R 5 > testoutput
mas01ik@355 187 //echo testfeature10 1 > test-expected-output
mas01ik@355 188 //cmp testoutput test-expected-output
mas01ik@355 189 myadbquery.querytype="sequence";
mas01ik@355 190 myadbquery.feature="testquery";
mas01ik@355 191 myadbquery.keylist="testkl.txt";
mas01ik@355 192 myadbquery.sequencelength="1";
mas01ik@355 193 myadbquery.radius="5";
mas01ik@355 194 myadbquery.resultlength="1";
mas01ik@355 195 audiodb_query(mydbp,&myadbquery,&myadbqueryresult);
mas01ik@355 196 size=myadbqueryresult.sizeRlist;
mas01ik@355 197
mas01ik@355 198 /* check the test values */
mas01ik@355 199 if (size != 1) {returnval = -1;};
mas01ik@355 200 if (testoneradiusresult(&myadbqueryresult,0,"testfeature10",1)) {returnval = -1;};
mas01ik@355 201
mas01ik@355 202
mas01ik@355 203 //fprintf(stderr,"returnval:%d\n",returnval);
mas01ik@355 204 return(returnval);
mas01ik@355 205 }
mas01ik@355 206