summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/tests/daemon_test
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src/tests/daemon_test')
-rwxr-xr-xqpid/cpp/src/tests/daemon_test24
1 files changed, 24 insertions, 0 deletions
diff --git a/qpid/cpp/src/tests/daemon_test b/qpid/cpp/src/tests/daemon_test
new file mode 100755
index 0000000000..ab87a2f848
--- /dev/null
+++ b/qpid/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