Mercurial > hg > audiodb
view tests/0029/run-test.sh @ 580:633614461994
API for retrieving a track's data.
A new function, audiodb_retrieve_datum() fills a provided adb_datum_t
structure with the data corresponding to a given database key; the
companion audiodb_free_datum() function frees the data in a given datum
appropriately.
Just in case, I continue to require passing in the adb_t * as the first
argument to audiodb_free_datum(), even though it's not currently used:
I couldn't convince myself that _all_ possible implementations could
free a datum without reference to the adb_t.
This meant rewriting the internal code to use a new internal
audiodb_really_free_datum() function, which audiodb_free_datum() also
calls.
Sanity-checked by implementing a binding in sb-alien to this function,
lightly-tested.
All this fixes ticket:20 in Trac.
author | mas01cr |
---|---|
date | Tue, 14 Jul 2009 15:35:36 +0000 |
parents | 342822c2d49a |
children |
line wrap: on
line source
#! /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 ${AUDIODB} -d testdb -Q sequence -l 1 -f testquery > testoutput echo testfeature 1 0 0 > test-expected-output cmp testoutput test-expected-output ${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -p 0 > testoutput echo testfeature 1 0 0 > test-expected-output cmp testoutput test-expected-output ${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -p 1 > testoutput echo testfeature 1 1 0 > test-expected-output cmp testoutput test-expected-output ${AUDIODB} -d testdb -Q sequence -l 2 -f testquery -p 0 > testoutput echo testfeature 1.33333 0 0 > test-expected-output cmp testoutput test-expected-output ${AUDIODB} -d testdb -Q sequence -l 2 -f testquery -p 1 > testoutput echo testfeature 1 1 0 > test-expected-output cmp testoutput test-expected-output echo "query points (0.0,0.5)p=-0.5,(0.0,0.5)p=-1,(0.5,0.0)p=-1" intstring 1 > testquerypower floatstring -0.5 -1 -1 >> testquerypower ${AUDIODB} -d testdb -Q sequence -l 2 -f testquery -w testquerypower --absolute-threshold=-1.4 -p 0 > testoutput echo testfeature 1.33333 0 0 > test-expected-output cmp testoutput test-expected-output ${AUDIODB} -d testdb -Q sequence -l 2 -f testquery -w testquerypower --absolute-threshold=-1.4 -p 1 > testoutput echo testfeature 1 1 0 > test-expected-output cmp testoutput test-expected-output ${AUDIODB} -d testdb -Q sequence -l 2 -f testquery -w testquerypower --absolute-threshold=-0.8 -p 0 > testoutput echo testfeature 1 0 0 > test-expected-output1 echo testfeature 1 0 2 > test-expected-output2 cmp testoutput test-expected-output1 || cmp testoutput test-expected-output2 ${AUDIODB} -d testdb -Q sequence -l 2 -f testquery -w testquerypower --absolute-threshold=-0.8 -p 1 > testoutput cat /dev/null > test-expected-output cmp testoutput test-expected-output ${AUDIODB} -d testdb -Q sequence -l 2 -f testquery -w testquerypower --relative-threshold=0.1 -p 0 > testoutput echo testfeature 1 0 0 > test-expected-output1 echo testfeature 1 0 2 > test-expected-output2 cmp testoutput test-expected-output1 || cmp testoutput test-expected-output2 exit 104