/var/lib/pcp/testsuite/967 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 133 | #!/bin/sh
# PCP QA Test No. 967
# Testing auto enabling pmdapapi metrics
#
# Copyright (c) 2014-2015 Red Hat Inc. All Rights Reserved.
#
seq=`basename $0`
echo "QA output created by $seq"
# get standard environment, filters and checks
. ./common.product
. ./common.filter
. ./common.check
[ -d $PCP_PMDAS_DIR/papi ] || _notrun "PAPI PMDA is not installed"
perfevent=`pminfo -f pmcd.agent.status | grep perfevent | wc -l`
[ $perfevent -eq 1 ] && _notrun "perfevent PMDA installed, conflicts with PAPI"
$sudo rm -rf $tmp.* $seq.full
trap "cd $here; $sudo rm -rf $tmp.*; exit \$status" 0 1 2 3 15
_filter_papi_errors()
{
sed \
-e '/pfm_find_full_event(.*): event not found./d' \
-e '/events in papi_events.csv were not valid./d' \
# end
}
_filter()
{
sed \
-e "s,$PCP_PMDAS_DIR,PCP_PMDAS_DIR,g" \
-e 's/value [0-9][0-9]*/value NUMBER/' \
-e 's/TOT_INS(5): [0-9][0-9]*/TOT_INS(5) NUMBER/' \
-e 's/TOT_INS(-1): [0-9][0-9]*/TOT_INS(-1) NUMBER/' \
-e 's/0x[0-9a-f]*/ADDR/g' \
-e 's/[0-2][0-9]:00:00.000/TIME/' \
-e 's/126.0.[0-9][0-9]*/126.0.NUMBER/' \
-e "s,$tmp,TMP," \
| _filter_papi_errors
}
# vars and checks
papirootpmns=$PCP_PMDAS_DIR/papi/root
pipepmda=$PCP_PMDAS_DIR/papi/pmdapapi
# check if papi PMDA is going to work on this platform
_check_papi
# real QA test starts here
# we want to check existing functionality is not effected if
# 'auto_enabled' is disabled (aka, set to zero)
# directly fetching the metric should not return a number
echo "=== Daemon PMDA papi auto_enable disabled test ==="
$sudo TERM=ansi dbpmda -n $papirootpmns -ie <<EOF 2>&1 | _filter
open pipe $pipepmda -d 126 -l $tmp.log
getdesc on
attr 'username' 'root'
attr 11 '0'
desc papi.system.TOT_INS
desc papi.control.status
desc papi.control.auto_enable
store papi.control.auto_enable "0"
fetch papi.system.TOT_INS
store papi.control.enable "TOT_INS"
fetch papi.system.TOT_INS
store papi.control.disable "TOT_INS"
fetch papi.system.TOT_INS
EOF
cat $tmp.log >>$here/$seq.full
# now that we know existing functionality is working, lets test
# the timeout of auto_enable, lets set to 5 seconds and test
echo "=== Daemon PMDA papi auto_enable test ==="
$sudo TERM=ansi dbpmda -n $papirootpmns -ie <<EOF 2>&1 | _filter
open pipe $pipepmda -d 126 -l $tmp.log
getdesc on
attr "username" "root"
attr 11 "0"
desc papi.system.TOT_INS
store papi.control.auto_enable "5"
fetch papi.system.TOT_INS
fetch papi.control.status
wait 7
fetch papi.control.status
EOF
cat $tmp.log >>$here/$seq.full
# even with a timeout (for our case it will be a small one)
# the existing control.{enable,disable} metrics will override the
# timeout value and the counters will continue counting
echo "=== Daemon PMDA papi auto_enable with papi.control.enable test ==="
$sudo TERM=ansi dbpmda -n $papirootpmns -ie <<EOF 2>&1 | _filter
open pipe $pipepmda -d 126 -l $tmp.log
getdesc on
attr "username" "root"
attr 11 "0"
desc papi.system.TOT_INS
store papi.control.auto_enable "5"
store papi.control.enable "TOT_INS"
fetch papi.system.TOT_INS
fetch papi.control.status
wait 7
fetch papi.control.status
store papi.control.disable "TOT_INS"
fetch papi.control.status
EOF
cat $tmp.log >>$here/$seq.full
# add a test to check that the papi.control.status metric shows
# evidence of altering the papi.control.multiplex metric
echo "=== Daemon PMDA papi auto_enable with multiplexing disabled test ==="
$sudo TERM=ansi dbpmda -n $papirootpmns -ie <<EOF 2>&1 | _filter
open pipe $pipepmda -d 126 -l $tmp.log
getdesc on
attr "username" "root"
attr 11 "0"
desc papi.control.multiplex
fetch papi.control.status
store papi.control.multiplex "0"
store papi.control.auto_enable "5"
fetch papi.system.TOT_INS
fetch papi.control.status
wait 7
fetch papi.control.status
EOF
cat $tmp.log >>$here/$seq.full
|