Mercurial > hg > audiodb
changeset 304:2d6efbe56bb8
Wow, so many bugs in one short stanza of code. Really fix batchinsert
handling of -K command-line argument now, and write a test for it so
that no-one ever has any excuses ever again.
author | mas01cr |
---|---|
date | Tue, 05 Aug 2008 13:38:36 +0000 |
parents | 9f9b8b5f35f2 |
children | 8cec6eb40526 |
files | audioDB.cpp tests/0038/run-test.sh tests/0038/short-description |
diffstat | 3 files changed, 87 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/audioDB.cpp Mon Aug 04 10:01:47 2008 +0000 +++ b/audioDB.cpp Tue Aug 05 13:38:36 2008 +0000 @@ -331,7 +331,7 @@ if(!args_info.featureList_given) error("BATCHINSERT: '-K keyList' argument depends on '-F featureList'"); else - key=args_info.key_arg; // INCONSISTENT NO CHECK + key=args_info.keyList_arg; // INCONSISTENT NO CHECK /* TO DO: REPLACE WITH if(args_info.keyList_given){
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/0038/run-test.sh Tue Aug 05 13:38:36 2008 +0000 @@ -0,0 +1,85 @@ +#! /bin/bash + +. ../test-utils.sh + +if [ -f testdb ]; then rm -f testdb; fi + +${AUDIODB} -d testdb -N + +intstring 2 > testfeature01 +floatstring 0 1 >> testfeature01 +floatstring 1 0 >> testfeature01 +intstring 2 > testfeature10 +floatstring 1 0 >> testfeature10 +floatstring 0 1 >> testfeature10 + +cat > testfeaturefiles <<EOF +testfeature01 +testfeature10 +EOF + +cat > testfeaturekeys <<EOF +testkey01 +testkey02 +EOF + +${AUDIODB} -d testdb -B -F testfeaturefiles -K testfeaturekeys + +${AUDIODB} -d testdb -S | grep "num files:2" + +# sequence queries require L2NORM +${AUDIODB} -d testdb -L + +echo "query point (0.0,0.5)" +intstring 2 > testquery +floatstring 0 0.5 >> testquery + +${AUDIODB} -d testdb -Q nsequence -l 1 -f testquery > testoutput +echo testkey01 1 > test-expected-output +echo 0 0 0 >> test-expected-output +echo 2 0 1 >> test-expected-output +echo testkey02 1 >> test-expected-output +echo 0 0 1 >> test-expected-output +echo 2 0 0 >> test-expected-output +cmp testoutput test-expected-output + +${AUDIODB} -d testdb -Q nsequence -l 1 -f testquery -n 2 > testoutput +cmp testoutput test-expected-output + +${AUDIODB} -d testdb -Q nsequence -l 1 -f testquery -n 5 > testoutput +cmp testoutput test-expected-output + +${AUDIODB} -d testdb -Q nsequence -l 1 -f testquery -n 1 > testoutput +echo testkey01 0 > test-expected-output +echo 0 0 0 >> test-expected-output +echo testkey02 0 >> test-expected-output +echo 0 0 1 >> test-expected-output +cmp testoutput test-expected-output + +echo "query point (0.5,0.0)" +intstring 2 > testquery +floatstring 0.5 0 >> testquery + +${AUDIODB} -d testdb -Q nsequence -l 1 -f testquery > testoutput +echo testkey01 1 > test-expected-output +echo 0 0 1 >> test-expected-output +echo 2 0 0 >> test-expected-output +echo testkey02 1 >> test-expected-output +echo 0 0 0 >> test-expected-output +echo 2 0 1 >> test-expected-output +cmp testoutput test-expected-output + +${AUDIODB} -d testdb -Q nsequence -l 1 -f testquery -n 2 > testoutput +cmp testoutput test-expected-output + +${AUDIODB} -d testdb -Q nsequence -l 1 -f testquery -n 5 > testoutput +cmp testoutput test-expected-output + +${AUDIODB} -d testdb -Q nsequence -l 1 -f testquery -n 1 > testoutput +echo testkey01 0 > test-expected-output +echo 0 0 1 >> test-expected-output +echo testkey02 0 >> test-expected-output +echo 0 0 0 >> test-expected-output +cmp testoutput test-expected-output + +exit 104