/var/lib/pcp/testsuite/805 is in pcp-testsuite 4.0.1-1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | #!/bin/sh
# PCP QA Test No. 805
# Exercise the postfix PMDA.
#
# Copyright (c) 2015 Red Hat. All Rights Reserved.
#
seq=`basename $0`
echo "QA output created by $seq"
# get standard environment, filters and checks
. ./common.product
. ./common.filter
. ./common.check
[ -f "$PCP_PMDAS_DIR/postfix/pmdapostfix.pl" ] || _notrun "No postfix PMDA"
if which qshape >/dev/null 2>&1
then
:
else
# not on the $PATH, but qshape is hiding on SuSE platforms
#
[ -f /usr/share/doc/packages/postfix-doc/auxiliary/qshape/qshape.pl ] \
|| _notrun "No qshape binary installed"
fi
status=1 # failure is the default!
$sudo rm -rf $tmp.* $seq.full
# prepare the PMDAs test environment
cp $here/postfix/qshape.sh $tmp.qshape
grp=root
case $PCP_PLATFORM
in
freebsd|netbsd|openbsd)
grp=wheel
;;
esac
$sudo chown root:$grp $tmp.qshape
$sudo chmod 755 $tmp.qshape
touch $tmp.logfile
export PMDA_POSTFIX_LOG=$tmp.logfile
export PMDA_POSTFIX_REFRESH=1
export PMDA_POSTFIX_QSHAPE=$tmp.qshape
# don't want Install to possibly restart pmcd via systemctl, as this
# will clobber the environment, ...
#
_service pcp stop | _filter_pcp_stop
if [ "$PCPQA_SYSTEMD" = x -o "${PCPQA_SYSTEMD-x}" != x ]
then
# $PCPQA_SYSTEMD is already set ...
save_pcpqa_systemd="$PCPQA_SYSTEMD"
restore_pcpqa_systemd=true
else
restore_pcpqa_systemd=false
fi
export PCPQA_SYSTEMD=no
pmdapostfix_remove()
{
echo | tee -a $here/$seq.full
echo "=== remove postfix agent ===" | tee -a $here/$seq.full
$sudo ./Remove >$tmp.out 2>&1
cat $tmp.out >>$here/$seq.full
_filter_pmda_remove <$tmp.out
}
pmdapostfix_install()
{
# start from known starting points
cd $PCP_PMDAS_DIR/postfix
$sudo ./Remove >/dev/null 2>&1
echo | tee -a $here/$seq.full
echo "=== postfix agent installation ===" | tee -a $here/$seq.full
$sudo ./Install </dev/null >$tmp.out 2>&1
cat $tmp.out >>$here/$seq.full
# Check postfix metrics have appeared ... X metrics and Y values
_filter_pmda_install <$tmp.out \
| sed \
-e 's/[0-9][0-9]* warnings, //' \
| $PCP_AWK_PROG '
/Check postfix metrics have appeared/ { if ($7 >= 7) $7 = "X"
if ($10 >= 50) $10 = "Y"
}
{ print }'
}
_cleanup()
{
if $restore_pcpqa_systemd
then
export PCPQA_SYSTEMD="$save_pcpqa_systemd"
else
unset PCPQA_SYSTEMD
fi
# note: _restore_auto_restart pmcd done in _cleanup_pmda()
_cleanup_pmda postfix
}
_prepare_pmda postfix
trap "_cleanup; exit \$status" 0 1 2 3 15
_stop_auto_restart pmcd
# real QA test starts here
pmdapostfix_install
metrics=`pminfo postfix | LC_COLLATE=POSIX sort`
for file in $here/postfix/*-log-*gz
do
pmsleep 1.25
logfile=`basename $file`
gunzip < $file > $tmp.logfile
echo "=== verify postfix values - $logfile ===" | tee -a $here/$seq.full
pminfo -f $metrics
echo "=== done ===" | tee -a $here/$seq.full
echo | tee -a $here/$seq.full
done
$sudo rm -f $tmp.logfile $tmp.qshape
echo "PMDA log file ..." >>$here/$seq.full
$sudo cat $PCP_LOG_DIR/pmcd/postfix.log >>$here/$seq.full
pmdapostfix_remove
status=0
exit
|