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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/0038/short-description	Tue Aug 05 13:38:36 2008 +0000
@@ -0,0 +1,1 @@
+keylist handling for batchinsert
\ No newline at end of file