summaryrefslogtreecommitdiff
path: root/qa/389
diff options
context:
space:
mode:
Diffstat (limited to 'qa/389')
-rwxr-xr-xqa/38962
1 files changed, 62 insertions, 0 deletions
diff --git a/qa/389 b/qa/389
new file mode 100755
index 0000000..42bffa2
--- /dev/null
+++ b/qa/389
@@ -0,0 +1,62 @@
+#! /bin/sh
+# PCP QA Test No. 389
+# pmlogger does not exit with -L when it loses pmcd connection?
+# #528442
+#
+# Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved.
+#
+
+seq=`basename $0`
+echo "QA output created by $seq"
+
+# get standard filters
+. ./common.product
+. ./common.filter
+. ./common.check
+
+host=`hostname`
+status=1 # failure is the default!
+
+_filter()
+{
+ sed -e '/myFetch: End of File: PMCD exited/d' \
+ -e '/pmlogger: Error: IPC protocol failure/d'
+}
+
+trap "$sudo rm -f $tmp.*; exit \$status" 0 1 2 3 15
+
+# real QA test starts here
+echo "=== empty config and _no_ -L, should exit immediately ==="
+$sudo rm -f $tmp.*
+pmlogger -c /dev/null -l $tmp.log $tmp &
+sleep 2
+echo "expect no pmlogger process ..."
+ps $PCP_PS_ALL_FLAGS | $PCP_AWK_PROG '$2 == "'$!'" { print }'
+_filter_pmlogger_log <$tmp.log | sed -e "s/$host/HOST/"
+
+echo
+echo "=== empty config and -L, should exit when pmcd restarted ==="
+$sudo rm -f $tmp.*
+_start_up_pmlogger -L -c /dev/null -l $tmp.log $tmp
+_wait_for_pmlogger $pid $tmp.log 5
+$sudo $PCP_RC_DIR/pcp restart | _filter_pcp_start
+_wait_for_pmcd
+echo "expect no pmlogger process ..."
+ps $PCP_PS_ALL_FLAGS | $PCP_AWK_PROG '$2 == "'$!'" { print }'
+_filter_pmlogger_log <$tmp.log | sed -e "s/$host/HOST/"
+
+echo
+echo "=== non-empty config, should exit when pmcd restarted ==="
+$sudo rm -f $tmp.*
+echo "log mandatory on 1 sec pmcd.version" >$tmp.config
+_start_up_pmlogger -c $tmp.config -l $tmp.log $tmp
+_wait_for_pmlogger $pid $tmp.log 5
+$sudo $PCP_RC_DIR/pcp restart | _filter_pcp_start
+_wait_for_pmcd
+echo "expect no pmlogger process ..."
+ps $PCP_PS_ALL_FLAGS | $PCP_AWK_PROG '$2 == "'$!'" { print }'
+_filter_pmlogger_log <$tmp.log | _filter | sed -e "s/$host/HOST/"
+
+# success, all done
+status=0
+exit