diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2014-10-26 12:33:50 +0400 |
commit | 47e6e7c84f008a53061e661f31ae96629bc694ef (patch) | |
tree | 648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/648 | |
download | pcp-debian.tar.gz |
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/648')
-rwxr-xr-x | qa/648 | 118 |
1 files changed, 118 insertions, 0 deletions
@@ -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 |