File: 135

package info (click to toggle)
pcp 7.0.5-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 252,916 kB
  • sloc: ansic: 1,478,844; sh: 177,285; xml: 160,462; cpp: 83,809; python: 24,349; perl: 18,303; yacc: 6,877; lex: 2,864; makefile: 2,694; awk: 165; fortran: 60; java: 52
file content (141 lines) | stat: -rwxr-xr-x 2,897 bytes parent folder | download
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#! /bin/sh
# PCP QA Test No. 135
# Simple forwards and backwards scan of a multi-volume log
#
# Copyright (c) 1995-2002 Silicon Graphics, Inc.  All Rights Reserved.
#

seq=`basename $0`
echo "QA output created by $seq"

# get standard filters
. ./common.product
. ./common.filter
. ./common.check

trap "$sudo rm -f $tmp.*; exit" 0 1 2 3 15
signal=$PCP_BINADM_DIR/pmsignal

_do_time()
{
    tstamp=`wc -l <$tmp.sed | sed -e 's/  *//g'`
    tstamp=`expr $tstamp - 2`
    sed >$tmp.tmp \
	-e "s;$tmp;MYLOG;" \
	-e 's/from host .*/from host LOCALHOST/' \
	-e "/\"$logger_pid\"/s/$logger_pid/LOGGER_PID/g" \
	-e '/pmcd.pmlogger.port/s/value .*/value PORT/' \
	-e '/pmcd.pmlogger.host/s/value ".*/value "HOST"/' \
	-e '/pmcd.pmlogger.archive/s/value ".*/value "PATH"/' \
    # end
    sed -n <$tmp.tmp \
        -e 's/.*\([0-9][0-9]:[0-9][0-9]:[0-9][0-9]\.[0-9][0-9]*[0-9]\).*/\1/p' \
    | LC_COLLATE=POSIX sort -u \
    | while read time
    do
    	if grep $time $tmp.sed >/dev/null
	then
	    :
	else
	    echo "s/$time/TIMESTAMP-$tstamp/g" >>$tmp.sed
	    tstamp=`expr $tstamp + 1`
	fi
    done

    sed <$tmp.sed >$tmp.sed.tmp \
	-e '${
s/^s/xs/
s/TIME/FOO/
}' \
	-e '4,${
s/^s\//\//
s/.TIME.*/\/d/
}' \
	-e '${
s/^xs/s/
s/FOO/TIME/
s/P-.*/P-LAST\//
}'
    mv $tmp.sed.tmp $tmp.sed
    cat $tmp.sed >>$seq_full

    sed -f $tmp.sed $tmp.tmp \
    | sed -e 's/value .*/value .../' \
	  -e 's/ [0-9][0-9]:[0-9][0-9]:[0-9][0-9]/ hh:mm:ss/'
}

# real QA test starts here

echo 's/ [A-Z][a-z][a-z] [A-Z][a-z][a-z] .. / month-day /g' >$tmp.sed
echo 's/ [12][0-9][0-9][0-9]/ year/' >>$tmp.sed

_start_up_pmlogger -L -c /dev/null -l $tmp.log $tmp >$tmp.err 2>&1
logger_pid=$pid

pmsleep 1.1

pmlc <<End-of-File
connect $logger_pid
log mandatory on 100 msec sampledso.milliseconds
End-of-File

for i in 1 2 3 4 5
do
    pmsleep 0.5
    pmlc <<End-of-File
connect $logger_pid
new volume
End-of-File
done

pmsleep 0.5
$sudo $signal -s TERM $logger_pid
_wait_pmlogger_end $logger_pid || _exit 1

echo
echo "=== forwards ===" | tee -a $seq_full
pmdumplog -lm $tmp \
| tee -a $seq_full \
| sed -e '/(Log Format Version [0-9][0-9]*)/s/ [23])/ OK)/' \
| sed \
    -e '/^$/d' \
    -e '/^[0-9]/{
s/[0-9][0-9]* metrics*//
N
s/\n/ /
}' \
| tee $tmp.list \
| _do_time
LC_COLLATE=POSIX sort -o $tmp.list $tmp.list

echo
echo "=== backwards ===" | tee -a $seq_full
pmdumplog -lmr $tmp \
| tee -a $seq_full \
| sed -e '/(Log Format Version [0-9][0-9]*)/s/ [23])/ OK)/' \
| sed \
    -e '/^$/d' \
    -e '/^[0-9]/{
s/[0-9][0-9]* metrics*//
N
s/\n/ /
}' \
| tee $tmp.rev \
| _do_time
sed -e '/dump in reverse order/d' $tmp.rev \
| LC_COLLATE=POSIX sort -o $tmp.rev

echo
echo "=== expect no differences ==="
if diff $tmp.list $tmp.rev
then
    :
else
    echo "+++ forward +++" >>$seq_full
    cat $tmp.list >>$seq_full
    echo >>$seq_full
    echo "+++ backward +++" >>$seq_full
    cat $tmp.rev >>$seq_full
fi

exit 0