pmrep: update TODO, man page
[pcp.git] / qa / 646
blob51805c614d2f05690efb79d806c0c4b85e0a7212
1 #! /bin/sh
2 # PCP QA Test No. 646
3 # Testing of libpcp_mmv functionality (ondisk format)
5 # Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved.
6 # Copyright (c) 2009-2010 Aconex. All Rights Reserved.
9 seq=`basename $0`
10 echo "QA output created by $seq"
12 # get standard environment, filters and checks
13 . ./common.product
14 . ./common.filter
15 . ./common.check
17 status=0 # success is the default!
18 files="$PCP_TMP_DIR/mmv/test$$ $PCP_TMP_DIR/mmv/notest$$"
19 culldir=false
21 _cleanup()
23 rm -f $tmp.*
24 $sudo rm -f $files
25 $culldir && $sudo rm -fr "$PCP_TMP_DIR/mmv"
28 $sudo rm -rf $tmp.* $files
29 trap "_cleanup; exit \$status" 0 1 2 3 15
31 # is a pre-existing mmv directory in place? if so, write access needed
32 if [ -d "$PCP_TMP_DIR/mmv" ]
33 then
34 [ -w "$PCP_TMP_DIR/mmv" ] || _notrun "Cannot write to $PCP_TMP_DIR/mmv"
35 else
36 culldir=true
37 $sudo mkdir -p "$PCP_TMP_DIR/mmv"
38 $sudo chown `whoami` "$PCP_TMP_DIR/mmv" # local user - tmpdir writing
39 $sudo chgrp $PCP_GROUP "$PCP_TMP_DIR/mmv" # group pcp - pmdammv reading
42 _filter_mmvdump()
44 sed \
45 -e "s,test$$,testPID,g" \
46 -e "s,notest$$,notestPID,g" \
47 -e "s,^Process.*= $pid1,Process = PID,g" \
48 -e "s,^Process.*= $pid2,Process = PID,g" \
49 -e "s,^Generated.*= [0-9][0-9]*,Generated = TIMESTAMP,g" \
50 -e 's/interval = [0-9][0-9]*/interval = TIME/' \
51 -e 's/eggs"] = [0-9][0-9]* (value=[0-9][0-9]*/eggs"] = N (value=N/' \
52 -e "s,^MMV file.*= $PCP_TMP_DIR,MMV file = \$PCP_TMP_DIR,g" \
56 src/mmv_genstats test$$ &
57 pid1=$!
58 src/mmv_nostats notest$$ &
59 pid2=$!
60 wait
61 $PCP_PMDAS_DIR/mmv/mmvdump $PCP_TMP_DIR/mmv/test$$ | _filter_mmvdump
62 $PCP_PMDAS_DIR/mmv/mmvdump $PCP_TMP_DIR/mmv/notest$$ | _filter_mmvdump
64 status=0
65 exit