summaryrefslogtreecommitdiff
path: root/qa/162
diff options
context:
space:
mode:
Diffstat (limited to 'qa/162')
-rwxr-xr-xqa/162120
1 files changed, 120 insertions, 0 deletions
diff --git a/qa/162 b/qa/162
new file mode 100755
index 0000000..80f0364
--- /dev/null
+++ b/qa/162
@@ -0,0 +1,120 @@
+#! /bin/sh
+# PCP QA Test No. 162
+# namespace only Install/Remove for pmdas
+#
+# this is less important for PCP 2.0 than it was for PCP 1.x, but we
+# need to make sure the functionality still works, e.g. upgrade a
+# collector to PCP 2.0, but want to monitor from a PCP 1.x system
+#
+# Note: expect some "Cannot create" errors from the installation
+# of the pmchart view(s) ... we do not run Install/Remove as root
+# in this test
+#
+# See also 600. This version is for the PMDAs in pcp_opensrc.
+#
+# 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
+
+perl -e "use PCP::PMDA" >/dev/null 2>&1
+[ $? -eq 0 ] || _notrun "perl PCP::PMDA module not installed"
+
+trap "rm -rf $tmp; exit" 0 1 2 3 15
+
+#
+# Get rid of some new sample metrics which
+# would make the test vary.
+#
+_filter()
+{
+ sed \
+ -e '/sample\.dynamic\.meta/d' \
+ -e '/sample\.datasize/d' \
+ -e '/sample\.darkness/d' \
+
+}
+
+
+_filter_ins()
+{
+ sed \
+ -e 's/.* \(hash table entries\)/ NNN \1/' \
+ -e 's/.* \(non-leaf nodes\)/ NNN \1/' \
+ -e 's/.* \(leaf nodes\)/ NNN \1/' \
+ -e 's/.* \(bytes of symbol table\)/ NNN \1/' \
+ -e 's/ *- Permission denied/\
+Permission denied/'
+}
+
+
+# all of the ones we ship as part of the PCP product
+#
+PMDALIST='
+cisco
+mailq
+news
+sample
+sendmail
+simple
+summary
+trace
+trivial
+txmon'
+
+# real QA test starts here
+unset ROOT MAKEFLAGS
+mkdir $tmp
+
+cat >>$tmp/root.orig <<End-of-File
+root {
+}
+End-of-File
+cp $tmp/root.orig $tmp/root
+
+for pmda in $PMDALIST
+do
+ instdir=$PCP_PMDAS_DIR/$pmda
+ echo
+ echo "=== Install -n for $pmda ==="
+ if [ -f $instdir/Install ]
+ then
+ cd $instdir
+ $sudo ./Install -e -n $tmp/root -N </dev/null 2>&1 | _filter_ins
+ pminfo -n $tmp/root $pmda | _filter | LC_COLLATE=POSIX sort
+ else
+ echo "Error: $instdir/Install does not exist"
+ fi
+done
+
+echo
+echo 'Removals ... expect "Unknown metric name" errors at the end of each'
+echo 'operation as the PMNS should have been culled'
+for pmda in $PMDALIST
+do
+ instdir=$PCP_PMDAS_DIR/$pmda
+ echo
+ echo "=== Remove -n for $pmda ==="
+ if [ -f $instdir/Remove ]
+ then
+ cd $instdir
+ $sudo ./Remove -n $tmp/root -N
+ pminfo -n $tmp/root $pmda
+ else
+ echo "Error: $instdir/Install does not exist"
+ fi
+
+done
+
+echo
+echo "=== Check final state of root ==="
+echo "(expect no diffs between the initial and final PMNS)"
+diff -c $tmp/root.orig $tmp/root
+
+exit 0