Merge branch 'master' of git://git.pcp.io/pcp into qt
[pcp.git] / qa / 369
blobc94013ab68920e92984a1984b7a14e8188541753
1 #!/bin/sh
2 # PCP QA Test No. 369
3 # Check out libpcp_import
5 # Copyright (c) 2012 Red Hat.
6 # Copyright (c) 2010 Ken McDonell. All Rights Reserved.
9 seq=`basename $0`
10 echo "QA output created by $seq"
12 # get standard environment, filters and checks
13 . ./common.product
14 . ./common.filter
15 . ./common.check
17 [ -f ${PCP_LIB_DIR}/libpcp_import.${DSO_SUFFIX} ] || \
18 _notrun "No support for libpcp_import"
19 perl -e "use PCP::LogImport" 2>/dev/null || \
20 _notrun "Perl PCP::LogImport module is not installed"
22 status=0 # success is the default!
23 $sudo rm -rf $tmp.* $seq.full
24 trap "cd $here; rm -rf $tmp; exit \$status" 0 1 2 3 15
26 _filter1()
28 sed \
29 -e '/pmResult/s/ .* numpmid/ ... numpmid/' \
30 -e '/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]/s/[^ ]*/TIMESTAMP/' \
31 -e '/^EXPORT_FAIL$/d' \
32 -e '/::EXPORT_FAIL$/d'
35 _filter2()
37 _filter_pmdumplog \
38 | sed \
39 -e '/PID for pmlogger:/s/[0-9][0-9]*/PID/'
42 _filter3()
44 $PCP_AWK_PROG '
45 BEGIN { part = "part1" }
46 NF == 0 { part = "part2" }
47 { print >part }'
48 if [ -f part1 ]
49 then
50 # first part of output is in non-deterministic order, so sort it
52 _filter1 <part1 | LC_COLLATE=POSIX sort
54 [ -f part2 ] && _filter1 <part2
57 mkdir $tmp
58 cd $tmp
60 # real QA test starts here
61 echo "C version ..." | tee -a $here/$seq.full
62 $here/src/check_import 2>&1 | tee -a $here/$seq.full | _filter1
63 pminfo -dm -a myarchive
64 pmdumplog -a myarchive 2>&1 | _filter2
66 echo
67 echo "Perl wrapper version ..." | tee -a $here/$seq.full
68 rm -f myarchive.*
69 perl $here/src/check_import.perl 2>&1 | tee -a $here/$seq.full | _filter3
70 pminfo -dm -a myarchive
71 pmdumplog -a myarchive 2>&1 | _filter2
73 # success, all done
74 exit