summaryrefslogtreecommitdiff
path: root/qa/511
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
committerIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
commit47e6e7c84f008a53061e661f31ae96629bc694ef (patch)
tree648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/511
downloadpcp-47e6e7c84f008a53061e661f31ae96629bc694ef.tar.gz
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/511')
-rwxr-xr-xqa/51188
1 files changed, 88 insertions, 0 deletions
diff --git a/qa/511 b/qa/511
new file mode 100755
index 0000000..f5be26c
--- /dev/null
+++ b/qa/511
@@ -0,0 +1,88 @@
+#!/bin/sh
+# PCP QA Test No. 511
+#
+# Exercise sar2pcp for RH BZ 859117
+# This may prove too optimistic (asking sadf to replay different sar
+# files, that sar generated ... backwards compatibility much?) - if
+# thats the case, we'll have to special case things.
+#
+# Copyright (c) 2012 Red Hat.
+#
+
+seq=`basename $0`
+echo "QA output created by $seq"
+
+# get standard environment, filters and checks
+. ./common.product
+. ./common.filter
+. ./common.check
+
+which sadf >/dev/null 2>&1 || _notrun "sadf not installed (sysstat package)"
+[ $PCP_VER -ge 3610 ] || _notrun "Installed sar2pcp is too old"
+
+status=1 # failure is the default!
+$sudo rm -rf $tmp.* $seq.full
+trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
+
+logcheck()
+{
+ safile="$1"
+ pcplog="$2"
+
+ # should be no errors/warnings and pcp tools should also not fail
+ pmdumplog -z -l $pcplog >>$seq.full
+ [ $? -eq 0 ] && echo "pmdumplog approved of the $safile conversion"
+
+ # this'll visit and examine in detail every single stored result,
+ # as well as all metadata associates with the generated archive.
+ pmlogsummary $pcplog >>$seq.full
+ [ $? -eq 0 ] && echo "pmlogsummary approved of the $safile conversion"
+}
+
+# backwards compatibility route - silence is golden
+silence()
+{
+ safile="$1"
+ echo "sar2pcp thinks $safile is going well so far"
+ echo "pmdumplog approved of the $safile conversion"
+ echo "pmlogsummary approved of the $safile conversion"
+}
+
+# real QA test starts here
+cd $here
+rm -f $seq.full
+
+for sadist in \
+ 859117-rhel5.bin 859117-rhel5.xml f16-sa20.bin \
+ fche-csb6-rhel6.bin fche-csb6-rhel6.xml \
+ rhel5-sa20.bin smash-rhel5.xml smash-rhel6.xml
+do
+ safile="sadist/$sadist"
+ echo "==> Checking $safile" | tee -a $seq.full
+ pcplog=$tmp.pcplog
+ sar2pcp $safile $pcplog > $tmp.out 2>&1
+ sts=$?
+
+ # this seems to be a common sadf fail message;
+ # happens when the installed sysutils is old:
+ grep 'Invalid system activity file' $tmp.out >/dev/null
+ if [ $? -eq 0 ]
+ then
+ echo "$safile is not parsable by the installed sysutils" >>$seq.full
+ silence $safile
+ else
+ if [ $sts -eq 0 ]
+ then
+ echo "sar2pcp thinks $safile is going well so far"
+ logcheck $safile $pcplog
+ else
+ echo "sar2pcp failed ..."
+ cat $tmp.out
+ fi
+ fi
+ rm -f $tmp.pcplog.*
+done
+
+# success, all done
+status=0
+exit