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
|
#! /bin/sh
# PCP QA Test No. 646
# Testing of libpcp_mmv functionality (ondisk format)
#
# Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved.
# Copyright (c) 2009-2010 Aconex. All Rights Reserved.
#
seq=`basename $0`
echo "QA output created by $seq"
# get standard environment, filters and checks
. ./common.product
. ./common.filter
. ./common.check
status=0 # success is the default!
files="$PCP_TMP_DIR/mmv/test$$ $PCP_TMP_DIR/mmv/notest$$"
culldir=false
_cleanup()
{
rm -f $tmp.*
$sudo rm -f $files
$culldir && $sudo rm -fr "$PCP_TMP_DIR/mmv"
}
$sudo rm -rf $tmp.* $files
trap "_cleanup; exit \$status" 0 1 2 3 15
# is a pre-existing mmv directory in place? if so, write access needed
if [ -d "$PCP_TMP_DIR/mmv" ]
then
[ -w "$PCP_TMP_DIR/mmv" ] || _notrun "Cannot write to $PCP_TMP_DIR/mmv"
else
culldir=true
$sudo mkdir -p "$PCP_TMP_DIR/mmv"
$sudo chown `whoami` "$PCP_TMP_DIR/mmv" # local user - tmpdir writing
$sudo chgrp $PCP_GROUP "$PCP_TMP_DIR/mmv" # group pcp - pmdammv reading
fi
_filter_mmvdump()
{
sed \
-e "s,test$$,testPID,g" \
-e "s,notest$$,notestPID,g" \
-e "s,^Process.*= $pid1,Process = PID,g" \
-e "s,^Process.*= $pid2,Process = PID,g" \
-e "s,^Generated.*= [0-9][0-9]*,Generated = TIMESTAMP,g" \
-e 's/interval = [0-9][0-9]*/interval = TIME/' \
-e 's/eggs"] = [0-9][0-9]* (value=[0-9][0-9]*/eggs"] = N (value=N/' \
-e "s,^MMV file.*= $PCP_TMP_DIR,MMV file = \$PCP_TMP_DIR,g" \
}
src/mmv_genstats test$$ &
pid1=$!
src/mmv_nostats notest$$ &
pid2=$!
wait
$PCP_PMDAS_DIR/mmv/mmvdump $PCP_TMP_DIR/mmv/test$$ | _filter_mmvdump
$PCP_PMDAS_DIR/mmv/mmvdump $PCP_TMP_DIR/mmv/notest$$ | _filter_mmvdump
status=0
exit
|