summaryrefslogtreecommitdiff
path: root/qa/505
diff options
context:
space:
mode:
Diffstat (limited to 'qa/505')
-rwxr-xr-xqa/50570
1 files changed, 70 insertions, 0 deletions
diff --git a/qa/505 b/qa/505
new file mode 100755
index 0000000..3f694ca
--- /dev/null
+++ b/qa/505
@@ -0,0 +1,70 @@
+#!/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