File: 1199

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 (69 lines) | stat: -rwxr-xr-x 1,734 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
#!/bin/sh
# PCP QA Test No. 1199
# expose pmcd mem leak after change in libpcp context management
#
# 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
    _restore_auto_restart pmcd
    $sudo rm -rf $tmp $tmp.*
}

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

_stop_auto_restart pmcd
if ! _service pmcd restart 2>&1; then _exit 1; fi | _filter_pcp_restart
echo "initial pminfo ..." >>$seq_full
pminfo -v -b 1000 >/dev/null 2>>$seq_full
echo "done." >>$seq_full

# real QA test starts here
pmprobe -v pmcd.datasize | tee -a $seq_full >$tmp.tmp
start=`cat $tmp.tmp | awk '{print $3}'`
echo "start=$start" >>$seq_full

src/churnctx -i bin-100,bin-200,bin-300,bin-400,bin-900 -s 1000 -t 0 sample.bin sample.long.one >$tmp.out 2>$tmp.err

echo >>$seq_full
echo '=== stderr'  >>$seq_full
cat $tmp.err >>$seq_full

echo >>$seq_full
echo '=== stdout'  >>$seq_full
cat $tmp.out >>$seq_full

grep sample $tmp.out \
| sort \
| uniq -c \
| sed -e 's/^  *//'

pmprobe -v pmcd.datasize | tee -a $seq_full >$tmp.tmp
end=`cat $tmp.tmp | awk '{print $3}'`
echo "end=$start" >>$seq_full

# we have to be a little tolerant here ... there are a number of
# deferred initializations that might not have been done at the time
# of the first pmprobe, so allow a 128K (32 pages most likely) slop.
#
# The real leaks this test is designed for should exceed this easily.
#
if [ "$end" -gt "`expr $start + 128`" ]
then
    echo "Arrgh ... pmcd memory leak (>128Kbytes) from $start to $end during test"
fi

# success, all done
status=0
exit