annotate 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
rev   line source
mas01cr@252 1 #! /bin/bash
mas01cr@193 2
mas01cr@193 3 . ../test-utils.sh
mas01cr@193 4
mas01cr@193 5 if [ -f testdb ]; then rm -f testdb; fi
mas01cr@193 6
mas01cr@193 7 ${AUDIODB} -d testdb -N
mas01cr@193 8
mas01cr@193 9 intstring 2 > testfeature
mas01cr@193 10 floatstring 0 1 >> testfeature
mas01cr@193 11 floatstring 1 0 >> testfeature
mas01cr@193 12 floatstring 1 0 >> testfeature
mas01cr@193 13 floatstring 0 1 >> testfeature
mas01cr@193 14
mas01cr@193 15 intstring 1 > testpower
mas01cr@193 16 floatstring -0.5 >> testpower
mas01cr@193 17 floatstring -1 >> testpower
mas01cr@193 18 floatstring -1 >> testpower
mas01cr@193 19 floatstring -0.5 >> testpower
mas01cr@193 20
mas01cr@193 21 expect_clean_error_exit ${AUDIODB} -d testdb -I -f testfeature -w testpower
mas01cr@193 22 ${AUDIODB} -d testdb -P
mas01cr@193 23 expect_clean_error_exit ${AUDIODB} -d testdb -I -f testfeature
mas01cr@193 24 ${AUDIODB} -d testdb -I -f testfeature -w testpower
mas01cr@193 25
mas01cr@193 26 # sequence queries require L2NORM
mas01cr@193 27 ${AUDIODB} -d testdb -L
mas01cr@193 28
mas01cr@193 29 echo "query points (0.0,0.5),(0.0,0.5),(0.5,0.0)"
mas01cr@193 30 intstring 2 > testquery
mas01cr@193 31 floatstring 0 0.5 >> testquery
mas01cr@193 32 floatstring 0 0.5 >> testquery
mas01cr@193 33 floatstring 0.5 0 >> testquery
mas01cr@193 34
mas01cr@193 35 ${AUDIODB} -d testdb -Q sequence -l 1 -f testquery > testoutput
mas01cr@193 36 echo testfeature 1 0 0 > test-expected-output
mas01cr@193 37 cmp testoutput test-expected-output
mas01cr@193 38 ${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -p 0 > testoutput
mas01cr@193 39 echo testfeature 1 0 0 > test-expected-output
mas01cr@193 40 cmp testoutput test-expected-output
mas01cr@193 41 ${AUDIODB} -d testdb -Q sequence -l 1 -f testquery -p 1 > testoutput
mas01cr@193 42 echo testfeature 1 1 0 > test-expected-output
mas01cr@193 43 cmp testoutput test-expected-output
mas01cr@193 44
mas01cr@193 45 ${AUDIODB} -d testdb -Q sequence -l 2 -f testquery -p 0 > testoutput
mas01cr@193 46 echo testfeature 1.33333 0 0 > test-expected-output
mas01cr@193 47 cmp testoutput test-expected-output
mas01cr@193 48 ${AUDIODB} -d testdb -Q sequence -l 2 -f testquery -p 1 > testoutput
mas01cr@193 49 echo testfeature 1 1 0 > test-expected-output
mas01cr@193 50 cmp testoutput test-expected-output
mas01cr@193 51
mas01cr@193 52 echo "query points (0.0,0.5)p=-0.5,(0.0,0.5)p=-1,(0.5,0.0)p=-1"
mas01cr@193 53
mas01cr@193 54 intstring 1 > testquerypower
mas01cr@193 55 floatstring -0.5 -1 -1 >> testquerypower
mas01cr@193 56
mas01cr@193 57 ${AUDIODB} -d testdb -Q sequence -l 2 -f testquery -w testquerypower --absolute-threshold=-1.4 -p 0 > testoutput
mas01cr@193 58 echo testfeature 1.33333 0 0 > test-expected-output
mas01cr@193 59 cmp testoutput test-expected-output
mas01cr@193 60 ${AUDIODB} -d testdb -Q sequence -l 2 -f testquery -w testquerypower --absolute-threshold=-1.4 -p 1 > testoutput
mas01cr@193 61 echo testfeature 1 1 0 > test-expected-output
mas01cr@193 62 cmp testoutput test-expected-output
mas01cr@193 63
mas01cr@193 64 ${AUDIODB} -d testdb -Q sequence -l 2 -f testquery -w testquerypower --absolute-threshold=-0.8 -p 0 > testoutput
mas01cr@498 65 echo testfeature 1 0 0 > test-expected-output1
mas01cr@498 66 echo testfeature 1 0 2 > test-expected-output2
mas01cr@498 67 cmp testoutput test-expected-output1 || cmp testoutput test-expected-output2
mas01cr@193 68 ${AUDIODB} -d testdb -Q sequence -l 2 -f testquery -w testquerypower --absolute-threshold=-0.8 -p 1 > testoutput
mas01cr@193 69 cat /dev/null > test-expected-output
mas01cr@193 70 cmp testoutput test-expected-output
mas01cr@193 71
mas01cr@193 72 ${AUDIODB} -d testdb -Q sequence -l 2 -f testquery -w testquerypower --relative-threshold=0.1 -p 0 > testoutput
mas01cr@498 73 echo testfeature 1 0 0 > test-expected-output1
mas01cr@498 74 echo testfeature 1 0 2 > test-expected-output2
mas01cr@498 75 cmp testoutput test-expected-output1 || cmp testoutput test-expected-output2
mas01cr@193 76
mas01cr@193 77 exit 104