#!/bin/sh # PCP QA Test No. 505 # pmlogrewrite - multi-volume archive tests # # Copyright (c) 2011 Silicon Graphics, Inc. All Rights Reserved. # seq=`basename $0` echo "QA output created by $seq" # get standard environment, filters and checks . ./common.product . ./common.filter . ./common.check which pmlogrewrite >/dev/null 2>&1 || _notrun "pmlogrewrite not installed" status=0 # success is the default! $sudo rm -rf $tmp.* $seq.full trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15 _filter() { sed \ -e "s;$tmp;TMP;g" \ -e '/[-+ ]\[[0-9][0-9]* bytes]/d' \ -e "s/^\([+-][+-][+-] TMP\.[a-z]*\).*/\1/" } _cmp() { if [ ! -f "$1.0" ] then echo "Arrgh ... $1.0 missing" | _filter return fi pmdumplog -z -a $1 \ | tee -a $seq.full \ | sed -e '/\[[0-9][0-9]* bytes]/d' >$tmp.out diff -u $tmp.ref $tmp.out | _filter } # real QA test starts here pmdumplog -z -a src/ok-mv-foo \ | tee -a $seq.full \ | sed -e '/\[[0-9][0-9]* bytes]/d' >$tmp.ref echo | tee -a $seq.full echo "metric sample.seconds { type -> U64 }" >$tmp.config echo "=== `cat $tmp.config` ===" | tee -a $seq.full rm -f $tmp.new.* pmlogrewrite -ws -c $tmp.config src/ok-mv-foo $tmp.new 2>&1 | _filter echo "Output archive contains: `ls $tmp.new.* | tee -a $seq.full | wc -l | sed -e 's/ //g'` files" _cmp $tmp.new echo | tee -a $seq.full echo "metric sample.seconds { type -> U64 }" >$tmp.config echo "=== -i `cat $tmp.config` ===" | tee -a $seq.full rm -f $tmp.new.* for i in index meta 0 1 2 do cp src/ok-mv-foo.$i $tmp.new.$i done pmlogrewrite -iws -c $tmp.config $tmp.new 2>&1 | _filter echo "Output archive contains: `ls $tmp.new.* | tee -a $seq.full | wc -l | sed -e 's/ //g'` files" _cmp $tmp.new # success, all done exit