pmrep: fix archive end time reporting
[pcp.git] / qa / 179
blobfedfdc3157ece27145428b0e4b2e361c9547692b
1 #! /bin/sh
2 # PCP QA Test No. 179
3 # pmval -i failure for indom not defined at start of archive?
5 # Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved.
8 seq=`basename $0`
9 echo "QA output created by $seq"
11 # get standard filters
12 . ./common.product
13 . ./common.filter
14 . ./common.check
16 trap "$sudo rm -f $tmp.*; exit" 0 1 2 3 15
18 _filter_pmlc()
20 sed \
21 -e 's/connect [0-9][0-9]*/connect PID/' \
22 -e 's/ nl / /' \
23 -e "/timed out/d" \
24 -e 's/Version [0-9].*/Version VERSION/'
27 _filter()
29 _filter_pmdumplog \
30 | sed \
31 -e '/pmResult/s/ .* numpmid/ ... numpmid/' \
32 -e '/(hinv.ndisk)/{
33 s/value [0-9][0-9]*/value INTEGER/
34 s/[0-9]*\.[0-9]*\.[0-9]*/PMID/
35 }' \
36 -e "/\"$pid\"/s/$pid/LOGGER_PID/g" \
37 -e '/pmcd.pmlogger.port/s/value .*/value PORT/' \
38 -e '/pmcd.pmlogger.host/s/value ".*/value "HOST"/' \
39 -e '/pmcd.pmlogger.archive/s/value ".*/value "PATH"/'
42 # real QA test starts here
44 echo "=== just bin.sample ==="
45 $sudo rm -f $tmp.*
46 _start_up_pmlogger -s4 -L -c /dev/null -l $tmp.log $tmp >$tmp.err 2>&1
47 sleep 2
49 pmlc -ie <<End-of-File 2>&1 | _filter_pmlc
50 connect $pid
51 log mandatory on 200 msec sample.bin
52 End-of-File
53 _wait_pmlogger_end $pid
55 pmdumplog -im $tmp | _filter
56 echo "pmval ..."
57 pmval -i "bin-100,bin-300,bin-500" -U $tmp sample.bin 2>$tmp.err | _filter
58 _filter <$tmp.err
60 echo
61 echo "=== hinv.ndisk, then bin.sample ==="
62 $sudo rm -f $tmp.*
63 _start_up_pmlogger -s5 -L -c /dev/null -l $tmp.log $tmp
64 sleep 2
66 # split log requests across 2 pmlc invocations to help avoid a race
67 # at pmlogger where if the two requests arrive before the first one's
68 # timer event has been processed then the order of the two records in
69 # the archive may be reversed (issue occurs with "log early" changes
70 # to pmlogger).
72 pmlc -ie <<End-of-File 2>&1 | _filter_pmlc
73 connect $pid
74 log mandatory on once hinv.ndisk
75 End-of-File
76 pmlc -ie <<End-of-File 2>&1 | _filter_pmlc
77 connect $pid
78 log mandatory on 200 msec sample.bin
79 End-of-File
80 _wait_pmlogger_end $pid
82 pmdumplog -im $tmp | _filter
83 echo "pmval ..."
84 pmval -i "bin-100,bin-300,bin-500" -U $tmp sample.bin 2>$tmp.err | _filter
85 _filter <$tmp.err
87 exit 0