#! /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