summaryrefslogtreecommitdiff
path: root/qa/648
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
committerIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
commit47e6e7c84f008a53061e661f31ae96629bc694ef (patch)
tree648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/648
downloadpcp-debian.tar.gz
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/648')
-rwxr-xr-xqa/648118
1 files changed, 118 insertions, 0 deletions
diff --git a/qa/648 b/qa/648
new file mode 100755
index 0000000..1505497
--- /dev/null
+++ b/qa/648
@@ -0,0 +1,118 @@
+#! /bin/sh
+# PCP QA Test No. 648
+# Extended testing of multi-file MMV instances
+#
+# Copyright (c) 2009 Aconex. All Rights Reserved.
+#
+
+seq=`basename $0`
+echo "QA output created by $seq"
+
+# get standard filters
+. ./common.product
+. ./common.filter
+. ./common.check
+
+rm -f $seq.out
+if [ $PCP_VER -lt 3600 ]
+then
+ ln $seq.out.1 $seq.out || exit 1
+else
+ ln $seq.out.2 $seq.out || exit 1
+fi
+
+status=1
+username=`id -u -n`
+done_clean=false
+MMV_STATS_DIR="$PCP_TMP_DIR/mmv"
+
+# for QA the default install for mmv PMDA is as a dso, not a daemon
+#
+cat <<End-of-File >$tmp.input
+b
+dso
+End-of-File
+
+_cleanup()
+{
+ if $done_clean
+ then
+ :
+ else
+ if [ -f $tmp.pmcd.conf ]
+ then
+ $sudo mv $tmp.pmcd.conf $PCP_PMCDCONF_PATH
+ fi
+ if [ -d $tmp.mmv.dir ]
+ then
+ $sudo rm -fr "$MMV_STATS_DIR"
+ $sudo mv $tmp.mmv.dir $MMV_STATS_DIR
+ fi
+ $sudo $PCP_RC_DIR/pcp restart | _filter_pcp_start
+ _wait_for_pmcd
+ _wait_for_pmlogger
+ if $install_on_cleanup
+ then
+ ( cd $PCP_PMDAS_DIR/mmv; $sudo ./Install <$tmp.input >/dev/null 2>&1 )
+ else
+ ( cd $PCP_PMDAS_DIR/mmv; $sudo ./Remove </dev/null >/dev/null 2>&1 )
+ fi
+ rm -f $tmp.*
+ done_clean=true
+ fi
+ exit $status
+}
+
+install_on_cleanup=false
+pminfo mmv >/dev/null 2>&1 && install_on_cleanup=true
+
+trap "_cleanup" 0 1 2 3 15
+
+# real QA test starts here
+home="$PCP_PMDAS_DIR"
+iam=mmv
+cd "$home/$iam"
+unset ROOT MAKEFLAGS
+
+# copy the pmcd config file to restore state later.
+cp $PCP_PMCDCONF_PATH "$tmp.pmcd.conf"
+# move the MMV directory to restore contents later.
+[ -d $MMV_STATS_DIR ] && $sudo mv -f $MMV_STATS_DIR $tmp.mmv.dir
+
+# start from a known starting point
+$sudo ./Remove >/dev/null 2>&1
+
+# create a directory we can write and pcp group can read
+$sudo mkdir -m 755 "$MMV_STATS_DIR"
+$sudo chown $username "$MMV_STATS_DIR"
+$sudo chgrp pcp "$MMV_STATS_DIR"
+
+echo
+echo "=== $iam agent installation ==="
+$sudo ./Install </dev/null >$tmp.out 2>&1
+_filter_pmda_install <$tmp.out
+
+$here/src/mmv_instances cats
+$here/src/mmv_instances dogs
+$here/src/mmv_instances mice
+
+echo
+echo "=== validate values ==="
+if pminfo $iam | LC_COLLATE=POSIX sort >$tmp.names
+then
+ for name in `cat $tmp.names`
+ do
+ pminfo -fdmtT $name | LC_COLLATE=POSIX sort -n
+ done
+else
+ echo "... failed! ... here is the Install log ..."
+ cat $tmp.out
+fi
+
+echo
+echo "=== remove $iam agent ==="
+$sudo ./Remove >$tmp.out 2>&1
+_filter_pmda_remove <$tmp.out
+
+status=0
+exit