view tests/0003/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 fe4dc39b2dd7
children
line wrap: on
line source
#! /bin/bash

. ../test-utils.sh

if [ -f testdb ]; then rm -f testdb; fi

${AUDIODB} -d testdb -N

# point query now implemented as sequence search
${AUDIODB} -d testdb -L

# We could contemplate putting the test feature (and the expected
# query output) under svn control if we trust its binary file
# handling.

# FIXME: endianness!
intstring 1 > testfeature
floatstring 1 >> testfeature

${AUDIODB} -d testdb -I -f testfeature

${AUDIODB} -d testdb -Q point -f testfeature > test-query-output

echo testfeature 1 0 0 > test-expected-query-output

cmp test-query-output test-expected-query-output

# failure cases
expect_clean_error_exit ${AUDIODB} -d testdb -I
expect_clean_error_exit ${AUDIODB} -d testdb -f testfeature
expect_clean_error_exit ${AUDIODB} -I -f testfeature
expect_clean_error_exit ${AUDIODB} -d testdb -Q notpoint -f testfeature
expect_clean_error_exit ${AUDIODB} -Q point -f testfeature

exit 104