This file is indexed.

/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