File: 1105

package info (click to toggle)
pcp 7.1.0-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 252,748 kB
  • sloc: ansic: 1,483,656; sh: 182,366; xml: 160,462; cpp: 83,813; python: 24,980; perl: 18,327; yacc: 6,877; lex: 2,864; makefile: 2,738; awk: 165; fortran: 60; java: 52
file content (76 lines) | stat: -rwxr-xr-x 1,862 bytes parent folder | download
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
#!/bin/sh
# PCP QA Test No. 1105
# derived metrics - culling bad or undefined ones from the PMNS
#
# Copyright (c) 2017 Ken McDonell.  All Rights Reserved.
#

seq=`basename $0`
echo "QA output created by $seq"

# get standard environment, filters and checks
. ./common.product
. ./common.filter
. ./common.check

_cleanup()
{
    cd $here
    $sudo rm -rf $tmp $tmp.*
}

_filter_err()
{
    tee -a $seq_full \
    | sed \
	-e '/^pmRegisterDerived: /d' \
	-e '/^Derived metric initialization from /d' \
	-e '/^pmLoadDerivedConfig/d' \
	-e '/^__dm/d' \
	-e "s@$tmp@TMP@g" \
    # end
}

status=1	# failure is the default!
trap "_cleanup; exit \$status" 0 1 2 3 15

cat <<End-of-File >$tmp.derive
qa.hide.ok	= pmcd.pmlogger.port
qa.hide.syntax = pmcd.pmlogger.port +
qa.hide.semantic = 2 + no.such.metric.ever.will.exist
qa.ok = 2 + hinv.ncpu
End-of-File

# real QA test starts here

for verify in "" -d
do
    echo | tee -a $seq_full
    echo "full PMNS traversal $verify ..." | tee -a $seq_full
    PCP_DERIVED_CONFIG=$tmp.derive pminfo -Dderive $verify 2>$tmp.err \
    | grep -E 'qa\.(hide|ok)'
    _filter_err <$tmp.err

    echo | tee -a $seq_full
    echo "traverse PMNS below qa $verify ..." | tee -a $seq_full
    PCP_DERIVED_CONFIG=$tmp.derive pminfo -Dderive $verify qa 2>$tmp.err \
    | grep -E 'qa\.(hide|ok)'
    _filter_err <$tmp.err

    echo | tee -a $seq_full
    echo "exact matches in PMNS $verify ..." | tee -a $seq_full
    PCP_DERIVED_CONFIG=$tmp.derive pminfo -Dderive $verify 2>$tmp.err \
	qa.hide.ok qa.hide.syntax qa.hide.semantic qa.ok
    _filter_err <$tmp.err

    echo | tee -a $seq_full
    echo "mismatches in PMNS $verify ..." | tee -a $seq_full
    PCP_DERIVED_CONFIG=$tmp.derive pminfo $verify 2>$tmp.err \
	not_qa qa.not_hide qa.hide.not_ok \
    | grep 'not_'
    _filter_err <$tmp.err
done

# success, all done
status=0
exit