3 # Check pmGetArchiveEnd for multi-volume logs
5 # Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved.
9 echo "QA output created by $seq"
11 # get standard filters
16 trap "$sudo rm -f $tmp.*; exit" 0 1 2 3 15
17 signal
=$PCP_BINADM_DIR/pmsignal
23 /Cannot/ { print; next }
24 { print $9,$5,"bytes" }' \
25 |
sed -e "s;$tmp;MYLOG;" \
27 BEGIN { l0='$l0'; l1='$l1' }
28 $1 ~ /\.1$/ { if (l1 == 0) {
32 print $1,"initial BAD - ",$2
37 print $1,"incr",$2-l1,"bytes"
41 $1 ~ /\.0$/ { if (l0 == 0) {
42 if ($2 > 200 && $2 < 400)
45 print $1,"initial BAD - ",$2
50 print $1,"incr",$2-l0,"bytes"
55 END { print "l0=" l0 " l1=" l1 >"'$tmp.last
'" }'
56 echo "end _do_ls $tmp.last: `cat $tmp.last`" >>$seq.full
62 tstamp
=`wc -l <$tmp.sed | sed -e 's/ *//g'`
63 tstamp
=`expr $tstamp - 2`
66 -e 's/from host .*/from host LOCALHOST/' \
67 -e "/\"$logger_pid\"/s/$logger_pid/LOGGER_PID/g" \
68 -e '/pmcd.pmlogger.port/s/value .*/value PORT/' \
69 -e '/pmcd.pmlogger.host/s/value ".*/value "HOST"/' \
70 -e '/pmcd.pmlogger.archive/s/value ".*/value "PATH"/'
72 -e 's/.*\([0-9][0-9]:[0-9][0-9]:[0-9][0-9].[0-9][0-9][0-9]\).*/\1/p' \
73 | LC_COLLATE
=POSIX
sort -u \
76 if grep $time $tmp.
sed >/dev
/null
80 echo "s/$time/TIMESTAMP-$tstamp/g" >>$tmp.
sed
81 tstamp
=`expr $tstamp + 1`
85 sed -f $tmp.
sed $tmp.tmp \
87 $1 ~ /TIMESTAMP/ && NF == 4 { print $1 " " $2 " OFFSET OFFSET"; next }
93 echo "Metrics in archive:"
95 |
sed -e 's/.*(//' -e 's/).*//' -e 's/^/ /'
98 # real QA test starts here
99 $sudo rm -f $tmp.
* $seq.full
101 echo 's/ [A-Z][a-z][a-z] [A-Z][a-z][a-z] .. / month-day /g' >$tmp.
sed
102 echo 's/ [12][0-9][0-9][0-9]$/ year/' >>$tmp.
sed
103 echo "l0=0 l1=0" >$tmp.last
104 echo "init $tmp.last: `cat $tmp.last`" >>$seq.full
106 _start_up_pmlogger
-L -c /dev
/null
-l $tmp.log
$tmp
107 _wait_for_pmlogger
$pid $tmp.log
110 echo "=== logger started, nothing logged ==="
111 echo "=== logger started, nothing logged ===" >>$seq.full
112 LC_TIME
=POSIX
ls -l $tmp.?
2>&1 |
tee -a $seq.full | _do_ls
113 pmdumplog
-lt $tmp 2>&1 |
tee -a $seq.full | _do_time
114 pmdumplog
$tmp |
tee -a $seq.full | _do_metrics
118 log mandatory on once pmcd.control.register["0"]
121 echo flush | pmlc
$pid >/dev
/null
124 echo "=== first volume, one result ==="
125 echo "=== first volume, one result ===" >>$seq.full
126 LC_TIME
=POSIX
ls -l $tmp.? |
tee -a $seq.full | _do_ls
127 pmdumplog
-lt $tmp |
tee -a $seq.full | _do_time
128 pmdumplog
$tmp |
tee -a $seq.full | _do_metrics
137 echo "=== second empty volume ==="
138 echo "=== second empty volume ===" >>$seq.full
139 LC_TIME
=POSIX
ls -l $tmp.? |
tee -a $seq.full | _do_ls
140 pmdumplog
-lt $tmp |
tee -a $seq.full | _do_time
141 pmdumplog
$tmp |
tee -a $seq.full | _do_metrics
145 log mandatory on once pmcd.control.register["0"]
148 echo flush | pmlc
$pid >/dev
/null
151 echo "=== second volume, one result ==="
152 echo "=== second volume, one result ===" >>$seq.full
153 LC_TIME
=POSIX
ls -l $tmp.? |
tee -a $seq.full | _do_ls
154 pmdumplog
-lt $tmp |
tee -a $seq.full | _do_time
155 pmdumplog
$tmp |
tee -a $seq.full | _do_metrics
159 log mandatory on once {
168 log mandatory on once pmcd.control.register["0"]
171 echo flush | pmlc
$pid >/dev
/null
174 echo "=== second volume, second + third result ==="
175 echo "=== second volume, second + third result ===" >>$seq.full
176 LC_TIME
=POSIX
ls -l $tmp.? |
tee -a $seq.full | _do_ls
177 pmdumplog
-lt $tmp |
tee -a $seq.full | _do_time
178 pmdumplog
$tmp |
tee -a $seq.full | _do_metrics
180 $sudo $signal -s TERM
$pid
181 _wait_pmlogger_end
$pid
184 echo "=== logger done ==="
185 echo "=== logger done ===" >>$seq.full
186 LC_TIME
=POSIX
ls -l $tmp.? |
tee -a $seq.full | _do_ls
187 pmdumplog
-lt $tmp |
tee -a $seq.full | _do_time
188 pmdumplog
$tmp |
tee -a $seq.full | _do_metrics
190 # save the archive files for post-mortem test failure analysis
192 for i
in 0 1 meta index
194 cp ${tmp}.
$i $seq.full.
$i