summaryrefslogtreecommitdiff
path: root/qa/711
blob: f3f2c34dca689b43909b4342b95d023c14c531ec (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
#!/bin/sh
# PCP QA Test No. 711
#
# Exercise sar2pcp for RH BZ 891688
# 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 3611 ] || _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
    pmlogsummary -z -f -a $pcplog
    [ $? -eq 0 ] && echo "pminfo reports no issues in $safile"
}

# backwards compatibility route - silence is golden
silence()
{
    safile="$1"
    echo "sar2pcp thinks $safile is going well so far"
    echo "pmlogsummary approved of the $safile conversion"
}

# real QA test starts here
cd $here
rm -f $seq.full

for sadist in 891688-dash-time.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
	[ $sts -eq 0 ] && echo "sar2pcp thinks $safile is going well so far"
	logcheck $safile $pcplog

	# should be no warnings from perl either
	grep 'uninitialized value' $tmp.out
    fi
    rm -f $tmp.pcplog.*
done

# success, all done
status=0
exit