File: 802

package info (click to toggle)
pcp 7.0.5-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 252,916 kB
  • sloc: ansic: 1,478,844; sh: 177,285; xml: 160,462; cpp: 83,809; python: 24,349; perl: 18,303; yacc: 6,877; lex: 2,864; makefile: 2,694; awk: 165; fortran: 60; java: 52
file content (72 lines) | stat: -rwxr-xr-x 1,887 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
#!/bin/sh
# PCP QA Test No. 802
# github-#56 - memleak in libpcp_pmda with dynamic metrics
#
# Copyright (c) 2015 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

_check_valgrind

status=1	# failure is the default!
trap "cd $here; rm -rf $tmp.*; exit \$status" 0 1 2 3 15

# real QA test starts here

VALGRIND=`which valgrind`

# copied from _run_valgrind() ...
__version=`valgrind --version | sed -e 's/valgrind-//'`
if [ -f valgrind-suppress-$__version ]
then
    __extra="--suppressions=valgrind-suppress-$__version"
    echo "Warning: using extra $__extra" >>$seq_full
else
    __extra=''
fi

# need -q 45 because valgrind with all these options sometimes takes much
# longer to startup than the default credentials timeout of 3 seconds,
# especially on slow VMs
#
dbpmda -f -q 45 -ie 2>$tmp._valgrind.err >$tmp._valgrind.out <<End-of-File
open pipe $VALGRIND --leak-check=full --read-var-info=yes --gen-suppressions=all --suppressions=valgrind-suppress $__extra --log-file=$tmp._valgrind pmdas/github-56/pmdatrivial
children trivial
exit
End-of-File

sleep 1

# from _run_valgrind() ...
#
echo "=== std out ===" | tee -a $seq_full
cat $tmp._valgrind.out >>$seq_full
sed <$tmp._valgrind.out \
    -e "s@$tmp@TMP@g" \
    -e "s@$VALGRIND@VALGRIND@" \
    -e '/VALGRIND/{
s/ --[a-z][^ ]*//g
s/  */ /g
}' \
    #end
echo "=== std err ===" | tee -a $seq_full
cat $tmp._valgrind.err >>$seq_full
sed < $tmp._valgrind.err \
    -e 's/[A-Z][a-z][a-z] [A-Z][a-z][a-z]  *[0-9][0-9]* [0-9][0-9]:[0-9][0-9]:[0-9][0-9]/DATE/' \
    -e 's/trivial([0-9]*)/trivial(PID)/'
echo "=== valgrind report ===" >>$seq_full
cat $tmp._valgrind >>$seq_full
echo "=== filtered valgrind report ==="
_filter_valgrind <$tmp._valgrind

# success, all done
status=0

exit