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
|
#!/bin/sh
# PCP QA Test No. 702
# Exercise python PMAPI layer - basic live host tests
#
# Copyright (c) 2012-2014 Red Hat.
#
seq=`basename $0`
echo "QA output created by $seq"
. ./common.python
status=1 # failure is the default!
trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
$python -c 'from pcp import pmapi' 2>/dev/null
test $? -eq 0 || _notrun 'Python pcp pmapi module is not installed'
# Mostly contextual filtering to ensure deterministic output.
#
# The PMID, INDOM, freemem and pernode filtering is all for
# non-Linux platforms where the kernel PMDA is in a different
# domain and the PMNS is different.
#
_filter()
{
tee -a $seq_full \
| sed \
-e 's/0x[0-9a-f][0-9a-f]*/ADDR/g' \
-e "/^pmGetContextHostName:/s/`hostname`/HOSTNAME/" \
-e '/^tv_/s/[0-9][0-9]*/NUMBER/' \
-e '/^pmExtractValue:/s/[0-9][0-9]*/NUMBER/' \
-e '/^pmTraversePMNS:/s/[0-9][0-9]*/NUMBER/' \
-e '/^Ran 1 test/s/[0-9][0-9]*\.[0-9][0-9]*/SS.MMM/' \
-e '/pmConvScale,/s/[0-9][0-9]*\.[0-9][0-9]*/N.M/g' \
-e '/pmAtomStr /s/[0-9][0-9]*\.[0-9][0-9]*e.*/I.Je+K/g' \
-e '/<pcp\.pmapi\.c/s/c_.*_Array/c_INTEGER_Array/' \
-e 's/<ctypes.LP_/<pcp\.pmapi\.LP_/' \
-e 's/pmid\([= ]\)[0-9]*\.[0-9]*\.[0-9]*/pmid\1PMID/g' \
-e '/^pmLookupName: /s/[0-9]*\.[0-9]*\.[0-9]*/PMID/g' \
-e '/^pmIDStr: /s/[0-9]*\.[0-9]*\.[0-9]*/PMID/g' \
-e '/^pmInDomStr: /s/[0-9]*\.[0-9]*/INDOM/g' \
-e '/^pmNameAll: mem.freemem/d' \
-e "/'pernode'/"'{
s/.pernode., //
s/1, //
}' \
# end
}
# real QA test starts here
$python $here/src/test_pcp.py 2>&1 \
| _filter
_check_unittest live $seq_full
status=$?
exit
|