File: 857

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 2,085 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. 857
# Check Linux interrupts and softirqs metrics with valgrind.
#
# Copyright (c) 2016 Red Hat.
#

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

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

_check_valgrind
[ $PCP_PLATFORM = linux ] || _notrun "Linux interrupts test, only works with Linux"

_cleanup()
{
    # Need to clear the linux PMDA's indom cache when we're done to
    # prevent cross-version pollution
    #
    $sudo rm -f $PCP_VAR_DIR/config/pmda/60.*
    cd $here
    rm -rf $tmp.*
}

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

_filter()
{
    sed \
	-e "s,$PCP_PMDAS_DIR,PCP_PMDAS_DIR,g" \
    #end
}

# real QA test starts here
pmda=$PCP_PMDAS_DIR/linux/pmda_linux.so,linux_init
metrics="kernel.percpu.intr kernel.percpu.interrupts kernel.percpu.sirq kernel.percpu.softirqs"

for machine in 8cpu-x86_64 1cpu-i686
do
    # Need to clear the linux PMDA's indom cache before we run with -L
    # to prevent cross-version pollution
    #
    $sudo rm -f $PCP_VAR_DIR/config/pmda/60.*

    ncpus=`echo $machine | sed -e 's/cpu.*//g'`
    LINUX_STATSPATH=$tmp.root; export LINUX_STATSPATH
    LINUX_NCPUS=$ncpus; export LINUX_NCPUS

    mkdir -p $LINUX_STATSPATH/proc
    cp $here/linux/interrupts-$machine $LINUX_STATSPATH/proc/interrupts
    cp $here/linux/softirqs-$machine $LINUX_STATSPATH/proc/softirqs
    _make_proc_stat $LINUX_STATSPATH/proc/stat $ncpus

    echo "== Checking interrupts and softirqs names - $ncpus CPU(s)"
    _run_valgrind pminfo -L -K clear -K add,60,$pmda $metrics | _filter
    echo && echo "== done" && echo

    echo "== Checking interrupts and softirqs values"
    _run_valgrind pminfo --fetch -L -K clear -K add,60,$pmda $metrics | _filter
    echo && echo "== done" && echo

    echo "== Checking interrupts and softirqs helptext"
    _run_valgrind pminfo -tT -L -K clear -K add,60,$pmda $metrics | _filter
    echo && echo "== done" && echo

    rm -fr $LINUX_STATSPATH/proc
done

# success, all done
status=0
exit