annotate tests/0010/run-test.sh @ 171:bb934f91d85c powertable

Web services interface to the powertable functionality. * Implemented as a completely new SOAP method, called sequenceQuery * lightly tested with http://doc.gold.ac.uk/~mas01cr/poweradb.php (lacuna: need to pass relative-threshold and absolute-threshold always, even when they don't make sense.) Several uglinesses in the code, some of which will be resolved once all the various branches are merged into the trunk.
author mas01cr
date Wed, 14 Nov 2007 14:00:53 +0000
parents 8ef2efe604c9
children fe4dc39b2dd7
rev   line source
mas01cr@69 1 #! /bin/sh
mas01cr@69 2
mas01cr@69 3 . ../test-utils.sh
mas01cr@69 4
mas01cr@69 5 if [ -f testdb ]; then rm -f testdb; fi
mas01cr@69 6
mas01cr@69 7 ${AUDIODB} -d testdb -N
mas01cr@69 8
mas01cr@69 9 intstring 2 > testfeature01
mas01cr@69 10 floatstring 0 1 >> testfeature01
mas01cr@69 11 intstring 2 > testfeature10
mas01cr@69 12 floatstring 1 0 >> testfeature10
mas01cr@69 13
mas01cr@69 14 ${AUDIODB} -d testdb -I -f testfeature01
mas01cr@69 15 ${AUDIODB} -d testdb -I -f testfeature10
mas01cr@69 16
mas01cr@69 17 # sequence queries require L2NORM
mas01cr@69 18 ${AUDIODB} -d testdb -L
mas01cr@69 19
mas01cr@69 20 echo "query point (0.0,0.5)"
mas01cr@69 21 intstring 2 > testquery
mas01cr@69 22 floatstring 0 0.5 >> testquery
mas01cr@69 23
mas01cr@69 24 ${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -R 5 > testoutput
mas01cr@69 25 echo testfeature01 1 > test-expected-output
mas01cr@69 26 echo testfeature10 1 >> test-expected-output
mas01cr@69 27 cmp testoutput test-expected-output
mas01cr@69 28 ${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -r 1 -R 5 > testoutput
mas01cr@69 29 echo testfeature01 1 > test-expected-output
mas01cr@69 30 cmp testoutput test-expected-output
mas01cr@69 31
mas01cr@69 32 echo "query point (0.5,0.0)"
mas01cr@69 33 intstring 2 > testquery
mas01cr@69 34 floatstring 0.5 0 >> testquery
mas01cr@69 35
mas01cr@69 36 # FIXME: because there's only one point in each track (and the query),
mas01cr@69 37 # the ordering is essentially database order. We need these test
mas01cr@69 38 # cases anyway because we need to test non-segfaulting, non-empty
mas01cr@69 39 # results...
mas01cr@69 40
mas01cr@69 41 ${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -R 5 > testoutput
mas01cr@69 42 echo testfeature01 1 > test-expected-output
mas01cr@69 43 echo testfeature10 1 >> test-expected-output
mas01cr@69 44 cmp testoutput test-expected-output
mas01cr@69 45 ${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -r 1 -R 5 > testoutput
mas01cr@69 46 echo testfeature01 1 > test-expected-output
mas01cr@69 47 cmp testoutput test-expected-output
mas01cr@69 48
mas01cr@69 49 exit 104