Mercurial > hg > audiodb
changeset 332:a0493f861531
Added new tests for indexed query over WS. Fixed potential NULL string dereference in audioDB.cpp
author | mas01mc |
---|---|
date | Sun, 31 Aug 2008 08:45:22 +0000 |
parents | 0c908093082f |
children | cc3f9d1ca2cd |
files | audioDB.cpp tests/0040/run-test.sh tests/0040/short-description tests/0050/run-test.sh tests/0050/short-description |
diffstat | 5 files changed, 99 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/audioDB.cpp Sat Aug 30 23:35:13 2008 +0000 +++ b/audioDB.cpp Sun Aug 31 08:45:22 2008 +0000 @@ -58,11 +58,11 @@ else if(O2_ACTION(COM_QUERY)) if(isClient){ if(query_from_key){ - VERB_LOG(1, "Calling web services query %s on database %s, query=%s\n", radius>0?"(Radius)":"(NN)", dbName, strlen(key)?key:inFile); + VERB_LOG(1, "Calling web services query %s on database %s, query=%s\n", radius>0?"(Radius)":"(NN)", dbName, (key&&strlen(key))?key:inFile); ws_query_by_key(dbName, key, inFile, (char*)hostport); } else{ - VERB_LOG(1, "Calling web services query on database %s, query=%s\n", dbName, strlen(key)?key:inFile); + VERB_LOG(1, "Calling web services query on database %s, query=%s\n", dbName, (key&&strlen(key))?key:inFile); ws_query(dbName, inFile, (char*)hostport); } }
--- a/tests/0040/run-test.sh Sat Aug 30 23:35:13 2008 +0000 +++ b/tests/0040/run-test.sh Sun Aug 31 08:45:22 2008 +0000 @@ -41,6 +41,7 @@ ${AUDIODB} -d testdb -X -l 1 -R 1 # Query using the index + ${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testpower -R 1 > testoutput echo testfeature 1 > test-expected-output cmp testoutput test-expected-output @@ -49,11 +50,18 @@ echo testfeature 1 > test-expected-output cmp testoutput test-expected-output - ${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testpower -p 1 -R 1 > testoutput echo testfeature 1 > test-expected-output cmp testoutput test-expected-output +${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testpower -e -R 1 > testoutput +echo testfeature 3 > test-expected-output +cmp testoutput test-expected-output + +${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -w testpower -e -R 1 --lsh_exact > testoutput +echo testfeature 3 > test-expected-output +cmp testoutput test-expected-output + # make index, sequenceLength=2 ${AUDIODB} -d testdb -X -l 2 -R 1
--- a/tests/0040/short-description Sat Aug 30 23:35:13 2008 +0000 +++ b/tests/0040/short-description Sun Aug 31 08:45:22 2008 +0000 @@ -1,1 +1,1 @@ -0030 using INDEX and LSH query +0030 using LSH INDEX and LSH query
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/0050/run-test.sh Sun Aug 31 08:45:22 2008 +0000 @@ -0,0 +1,86 @@ +#! /bin/bash + +. ../test-utils.sh + +if [ -f testdb ]; then rm -f testdb; fi + +${AUDIODB} -d testdb -N + +intstring 2 > testfeature +floatstring 0 1 >> testfeature +floatstring 1 0 >> testfeature +floatstring 1 0 >> testfeature +floatstring 0 1 >> testfeature + +intstring 1 > testpower +floatstring -0.5 >> testpower +floatstring -1 >> testpower +floatstring -1 >> testpower +floatstring -0.5 >> testpower + +expect_clean_error_exit ${AUDIODB} -d testdb -I -f testfeature -w testpower +${AUDIODB} -d testdb -P +expect_clean_error_exit ${AUDIODB} -d testdb -I -f testfeature +${AUDIODB} -d testdb -I -f testfeature -w testpower + +# sequence queries require L2NORM +${AUDIODB} -d testdb -L + +echo "query points (0.0,0.5),(0.0,0.5),(0.5,0.0)" +intstring 2 > testquery +floatstring 0 0.5 >> testquery +floatstring 0 0.5 >> testquery +floatstring 0.5 0 >> testquery + +# LSH Indexing tests + +# Indexing requires a radius (-R) +expect_clean_error_exit ${AUDIODB} -d testdb -X -l 1 + +# Index with default LSH params +${AUDIODB} -d testdb -X -l 1 -R 1 + +WSPORT=10020 +start_server ${AUDIODB} ${WSPORT} + +# WS Query using the index + +${AUDIODB} -c localhost:${WSPORT} -d testdb -Q sequence -l 1 -f testquery -w testpower -R 1 > testoutput +echo testfeature 1 0 0 > test-expected-output +cmp testoutput test-expected-output + +${AUDIODB} -c localhost:${WSPORT} -d testdb -Q sequence -l 1 -f testquery -w testpower -p 0 -R 1 > testoutput +echo testfeature 1 0 0 > test-expected-output +cmp testoutput test-expected-output + +${AUDIODB} -c localhost:${WSPORT} -d testdb -Q sequence -l 1 -f testquery -w testpower -p 1 -R 1 > testoutput +echo testfeature 1 1 0 > test-expected-output +cmp testoutput test-expected-output + +${AUDIODB} -c localhost:${WSPORT} -d testdb -Q sequence -l 1 -f testquery -w testpower -e -R 1 > testoutput +echo testfeature 1 0 0 > test-expected-output +cmp testoutput test-expected-output + +${AUDIODB} -c localhost:${WSPORT} -d testdb -Q sequence -l 1 -f testquery -w testpower -e -R 1 --lsh_exact > testoutput +echo testfeature 1 0 0 > test-expected-output +cmp testoutput test-expected-output + +# make index, sequenceLength=2 +${AUDIODB} -d testdb -X -l 2 -R 1 + +# query, sequenceLength=2 +${AUDIODB} -c localhost:${WSPORT} -d testdb -Q sequence -l 2 -f testquery -w testpower -p 0 -R 1 > testoutput +echo testfeature 1.33333 0 0 > test-expected-output +cmp testoutput test-expected-output + +${AUDIODB} -c localhost:${WSPORT} -d testdb -Q sequence -l 2 -f testquery -w testpower -p 1 -R 1 > testoutput +echo testfeature 1 1 0 > test-expected-output +cmp testoutput test-expected-output + +${AUDIODB} -c localhost:${WSPORT} -d testdb -Q sequence -l 2 -f testquery -w testpower -p 0 -R 1 --lsh_exact > testoutput +echo testfeature 1.33333 0 0 > test-expected-output +cmp testoutput test-expected-output + +stop_server $! + +exit 104