annotate tests/0015/run-test.sh @ 383:6cef34d6fc48 api-inversion

Create a branch for trying to "invert" the command-line program and library. That is, instead of having the library functions effectively "call" the command-line client (by faking up an argv[] and abusing the multiple constructors), have the functionality be contained in the API function itself, and have the command-line/C++ audioDB client call those functions. Eventually, each API function (and perhaps tightly-focused helper functions) will be in its own file (e.g. audiodb_create() will end up in create.cpp), and (hopefully) the command-line client will be so trivial as to be fully contained in a rather shortened audioDB.cpp file. This inversion should also solve the double-compilation-with-preprocessor-#defines of audioDB.cpp, and the position of soap.cpp: the soap calls and their callers will be entirely specific to the command-line binary, and will have all their hooks into the API removed. That's the plan, anyway. Anyone is welcome to play along.
author mas01cr
date Fri, 21 Nov 2008 15:05:56 +0000
parents 6066d75a6d39
children
rev   line source
mas01cr@90 1 #! /bin/bash
mas01cr@90 2
mas01cr@90 3 . ../test-utils.sh
mas01cr@90 4
mas01cr@90 5 if [ -f testdb ]; then rm -f testdb; fi
mas01cr@90 6
mas01cr@90 7 start_server ${AUDIODB} 10015
mas01cr@90 8
mas01cr@90 9 ${AUDIODB} -d testdb -N
mas01cr@90 10
mas01cr@90 11 ${AUDIODB} -c localhost:10015 -d testdb -S > test1
mas01cr@90 12 ${AUDIODB} -S -c localhost:10015 -d testdb > test2
mas01cr@90 13 ${AUDIODB} -S -d testdb -c localhost:10015 > test3
mas01cr@90 14
mas01cr@90 15 cat > testoutput <<EOF
mas01cr@90 16 numFiles = 0
mas01cr@90 17 dim = 0
mas01cr@90 18 length = 0
mas01cr@90 19 dudCount = 0
mas01cr@90 20 nullCount = 0
mas01cr@90 21 flags = 0
mas01cr@90 22 EOF
mas01cr@90 23
mas01cr@90 24 cmp test1 test2
mas01cr@90 25 cmp test2 test3
mas01cr@90 26 cmp test3 testoutput
mas01cr@90 27
mas01cr@90 28 check_server $!
mas01cr@90 29
mas01cr@95 30 expect_client_failure ${AUDIODB} -c localhost:10015 -S -d /dev/null
mas01cr@95 31 expect_client_failure ${AUDIODB} -c localhost:10015 -S -d /tmp/foo-does-not-exist
mas01cr@90 32
mas01cr@90 33 check_server $!
mas01cr@90 34
mas01cr@90 35 stop_server $!
mas01cr@90 36
mas01cr@90 37 exit 104