view tests/0003/run-test.sh @ 199:72a037f2b1e4

Alter timesTable handling. Instead of inserting N boundary points per track, insert N (start,end) pairs. Since N boundaries define only N-1 intervals, we were losing information on insert -- this means that dump/restore cycles of existing times-enabled databases WILL NOT WORK. The input format for times files is still the same, albeit a little tighter: there must be exactly N+1 floats in the file. - make times table default length twice as big (done!) - ensure exactly n+1 times read in from timesFile (done!) - store (beginning, end) in times table (done!) - update file format version (done!) - ensure dump exactly n+1 times (done!) - adjust uses of timesTable to read at 2k and 2k+1 (done!) - timesdata[x] in sequence query is duration of sequence of appropriate length from point [x] (done!) - dbdurs calculation (done!) - don't decrement j when using times in sequence query (done!) - tests! (NOT DONE)
author mas01cr
date Fri, 23 Nov 2007 15:43:51 +0000
parents f258a0258755
children 3c7c8b84e4f3 2cc06e5b05a5
line wrap: on
line source
#! /bin/sh

. ../test-utils.sh

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

${AUDIODB} -d testdb -N

# 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