diff options
Diffstat (limited to 'cpp/src/tests')
| -rw-r--r-- | cpp/src/tests/Makefile.am | 2 | ||||
| -rwxr-xr-x | cpp/src/tests/daemon_test | 24 | ||||
| -rwxr-xr-x | cpp/src/tests/test_env | 2 |
3 files changed, 26 insertions, 2 deletions
diff --git a/cpp/src/tests/Makefile.am b/cpp/src/tests/Makefile.am index 5c4cb3e712..805f8d8e32 100644 --- a/cpp/src/tests/Makefile.am +++ b/cpp/src/tests/Makefile.am @@ -57,7 +57,7 @@ noinst_PROGRAMS = $(testprogs) TESTS_ENVIRONMENT = VALGRIND=$(VALGRIND) srcdir=$(srcdir) CLIENT_TESTS = client_test quick_topictest -TESTS = run-unit-tests start_broker $(CLIENT_TESTS) python_tests kill_broker +TESTS = run-unit-tests start_broker $(CLIENT_TESTS) python_tests kill_broker daemon_test EXTRA_DIST = \ test_env \ diff --git a/cpp/src/tests/daemon_test b/cpp/src/tests/daemon_test new file mode 100755 index 0000000000..ab87a2f848 --- /dev/null +++ b/cpp/src/tests/daemon_test @@ -0,0 +1,24 @@ +#!/bin/sh +# Without arguments run all daemon tests, exit status is number of failures. +# With arguments run just the test named by $1. +# + +TEMP=`mktemp` +qpidd=../qpidd +client_tests=./client_test +trap 'rm -f $TEMP' 0 + +fail() { echo FAIL: $0:$* 1>&2; exit 1; } + +# Start and stop daemon. +PID=`$qpidd --check --ppid` && fail $LINENO: $qpidd already running $PID +$qpidd -d || $LINENO: $qpidd -d failed +$qpidd --check || fail $LINENO: $qpidd --check says $qpidd didnt start +./client_test > $TEMP || fail $LINENO: client_test: `cat $TEMP` +$qpidd -q || fail $LINENO: $qpidd -q failed +$qpidd -d || fail $LINENO: restart after quit failed. +$qpidd -k || fail $LINENO: $qpidd -k failed +# Supress expected message re. cleanup of old PID file. +PID=`$qpidd --check --ppid 2>/dev/null` && fail $LINENO: $PID still running after kill. + +true diff --git a/cpp/src/tests/test_env b/cpp/src/tests/test_env index fdfc5f0369..c73cac43ea 100755 --- a/cpp/src/tests/test_env +++ b/cpp/src/tests/test_env @@ -6,7 +6,7 @@ # Use VALGRIND if set, else look on path. test -z "$VALGRIND" && VALGRIND=`which valgrind 2>/dev/null` # No valgrind, just run the command -test -z "$VALGRIND" && exec libtool --mode=execute "$@" +test -z "$VALGRIND" && { exec libtool --mode=execute "$@"; exit $?; } test "$VERBOSE" = yes && set -x test -z "$vg_log" && vg_log=valgrind.out |
