blob: f5be26c39ba972db453a8cc0f30ff0c9e823f15e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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
|