summaryrefslogtreecommitdiff
path: root/qa/196
diff options
context:
space:
mode:
Diffstat (limited to 'qa/196')
-rwxr-xr-xqa/196100
1 files changed, 100 insertions, 0 deletions
diff --git a/qa/196 b/qa/196
new file mode 100755
index 0000000..af9e612
--- /dev/null
+++ b/qa/196
@@ -0,0 +1,100 @@
+#! /bin/sh
+# PCP QA Test No. 196
+#
+# Test pmcd's "-i ipaddr" option
+# Don't expect this one to work away from Melbourne!
+# Need pcpqa remote access to other machines
+#
+# 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
+
+_needclean=true
+signal=$PCP_BINADM_DIR/pmsignal
+status=1
+trap "_cleanup; rm -f $tmp.*; exit \$status" 0 1 2 3 15
+
+_cleanup()
+{
+ if $_needclean
+ then
+ _needclean=false
+ $sudo $signal -a -s KILL $PCP_PMCD_PROG
+ $sudo $PCP_RC_DIR/pcp restart >/dev/null 2>&1
+ _wait_for_pmcd
+ _wait_for_pmlogger
+ fi
+}
+
+. ./common.check
+
+# real QA test starts here
+
+# This test requires a machine with two network interfaces.
+# gonzo is the only one we have that cut's it.
+#
+host=`hostname`
+if [ X$host != "Xgonzo" ]
+then
+ # if this isn't gonzo, fake it!
+ tail -n +2 196.out
+ status=0
+ exit
+fi
+
+goodif=`grep ptg-gate /etc/hosts | cut -f1`
+badif=`grep gonzo /etc/hosts | cut -f1`
+
+# choose different ports to the standard ones so we don't have to stop/start
+# pmcd.
+#
+PMCD_PORT=4320
+export PMCD_PORT
+
+# Do this in /var/tmp
+#
+cd /var/tmp
+pmcdlog=$tmp.pmcd.log
+if [ -x $PCP_PMCD_PROG ]
+then
+ $PCP_PMCD_PROG -i $goodif -l $pmcdlog >$tmp.pmcd.err 2>1
+else
+ echo "Cannot find pmcd?"
+ exit
+fi
+
+_wait_for_pmcd 20 ptg-gate
+
+metric=pmcd.control.debug
+echo "Test that new pmcd is OK..."
+if pminfo -f -h $goodif $metric
+then
+ echo "OK"
+else
+ echo "Error starting pmcd with -i $goodif -l $pmcdlog"
+ echo "pmcd.log contains:"
+ echo "======== start pmcd.log ========
+ cat $pmcdlog
+ echo "======== end pmcd.log ========
+ exit
+fi
+echo ""
+
+echo "Test access on good port..."
+cmd='sh -c "PMCD_PORT='$PMCD_PORT'; export PMCD_PORT; pminfo -f -h '$goodif' '$metric'"'
+ssh -q pcpqa@moomba.melbourne.sgi.com $cmd </dev/null
+
+echo
+echo "Test access on bad port (should fail)..."
+cmd='sh -c "PMCD_PORT='$PMCD_PORT'; export PMCD_PORT; pminfo -f -h '$badif' '$metric'"'
+ssh -q pcpqa@moomba.melbourne.sgi.com $cmd </dev/null 2>&1 \
+| sed -e "s/$badif/NOT-A-GOOD-IPADDR/"
+
+status=0
+exit