File: 135

package info (click to toggle)
pcp 3.9.10
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 81,836 kB
  • ctags: 26,423
  • sloc: ansic: 178,791; sh: 79,349; cpp: 61,042; xml: 28,842; perl: 12,963; yacc: 5,351; python: 4,578; lex: 1,894; makefile: 1,665; fortran: 60; java: 22; awk: 20
file content (109 lines) | stat: -rwxr-xr-x 2,336 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
#! /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"/'
    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

    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
$sudo rm -f $tmp.*

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

echo
echo "=== forwards ==="
pmdumplog -lm $tmp | sed -e '/^$/d' | tee $tmp.list | _do_time
LC_COLLATE=POSIX sort -o $tmp.list $tmp.list

echo
echo "=== backwards ==="
pmdumplog -lmr $tmp | sed -e '/^$/d' | 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 ==="
diff $tmp.list $tmp.rev

exit 0