summaryrefslogtreecommitdiff
path: root/qa/367
blob: 106c85cabe9b4c87d16ada8191c421c2cb56a970 (plain)
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
#! /bin/sh
# PCP QA Test No. 367
# pdu encode-decode
#
# 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

rm -f $seq.out $seq.full
endian=`_get_endian`
if [ $PCP_VER -ge 3800 ]; then
    ln $seq.out.$endian.2 $seq.out
else
    ln $seq.out.1 $seq.out
fi

signal=$PCP_BINADM_DIR/pmsignal
status=1	# failure is the default!
trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15

# real QA test starts here
$signal -a -s KILL pdu-server >/dev/null 2>&1
sleep 1

port=`_get_port tcp 6666 6676`
if [ -z "$port" ]
then
    netstat -an | grep '66.6'
    echo "Argh ... no free tcp port in the range 6666 ... 6676"
    exit 1
fi

src/pdu-server -p $port -D pdu,appl0 -Z UTC >$tmp.out 2>&1 &
server_pid=$!

sleep 1

src/pducheck -p $port -i 1 localhost

sleep 1

$signal -s TERM $server_pid

cp $tmp.out $seq.full

eval `sed -n <$tmp.out -e '/MYPID/{
s/.*MYPID /server=/
s/ / server_x=/p
q
}'`

echo >>$seq.full
echo "================" >>$seq.full
echo "server=$server" >>$seq.full
echo "server_x=$server_x" >>$seq.full

if [ -z "$server" -o -z "$server_x" ]
then
    cat $tmp.out
    echo "Error: arrgh, cannot get server PID from output ..."
    exit
fi

eval `sed -n <$tmp.out -e '/CLIENTPID/{
s/.*CLIENTPID /client=/
s/ / client_x=/p
q
}'`
echo "client=$client" >>$seq.full
echo "client_x=$client_x" >>$seq.full

if [ -z "$client" -o -z "$client_x" ]
then
    cat $tmp.out
    echo "Error: arrgh, cannot get client PID from output ..."
    exit
fi

sed <$tmp.out \
    -e '/MYPID/d' \
    -e '/CLIENTPID/d' \
    -e '/ name\[/s/ ="/: "/' \
    -e '/ status\[/s/ ="\(.*\)"/: \1/' \
    -e 's/ fd=[0-9][0-9]*/ fd=<n>/' \
    -e '/ id\[/{
s/ id/ PMID/
s/ =/:/
s/0.0.0/0x00000000 &/
s/123.456.789/0x1ec72315 &/
s/255.0.0/0x3fc00000 &/
s/0.4095.0/0x003ffc00 &/
s/0.0.1023/0x000003ff &/
s/PM_ID_NULL/0xffffffff &/
}' \
    -e '/pmGetPDU:/{
s/\['$server'\]/[SERVER]/
s/from='$client'/from=CLIENT/
}' \
    -e '/pmXmitPDU:/s/\['$server'\]/[SERVER]/' \
    -e '/__pmtracexmitPDU:/s/\['$server'\]/[SERVER]/' \
    -e '/PDU_CREDS:/s/sender='$client' /sender=CLIENT /' \
    -e '/pmResult dump/s/0x[^ ]*/ADDR/' \
    -e '/pmInResult dump/s/0x[^ ]*/ADDR/' \
    -e '/value/s/[0-9]\.[0-9]*e-42/0/' \
    -e '/value/s/[0-9]\.[0-9]*e-31[12]/0/' \
    -e '/noname/s/Not privileged/Operation not permitted/' \
    -e '/noname/s/Not owner/Operation not permitted/' \
    -e '/^000:/{
s/^\(...: ........ ........ \) *'$server_x' /\1  SERVER /
s/^\(...: ........ ........ \) *'$client_x' /\1  CLIENT /
s/e0a50100 40e20100  7000000 adde0000  1000000/   1a5e0    1e240        7     dead        1/
s/2a000000  1000000  2000000        0 fecaadde/      2a        1        2        0 deadcafe/
s/2b000000        0        0  6000000        0/      2b        0        0        6        0/
s/efbeadde  2000000 cefa0000  1000000  10f5200/deadbeef        2     face        1 1f025000/
s/62000000        0  b000000  5000000 68706c61/      62        0        b        5 616c7068/
s/62000000  b000000  b000000 fbffffff  5000000/      62        b        b fffffffb        5/
s/ 1000000  d000000 626d756d 662e656c 6c626d75/       1        d 6d756d62 6c652e66 756d626c/
s/cefa0000 c04b0300 f1fb0900 adde0000        0/    face    34bc0    9fbf1     dead        0/
s/cefa0000 c04b0300 f1fb0900 adde0000  5000000/    face    34bc0    9fbf1     dead        5/
s/cefa0000 c04b0300 f1fb0900        0  5000000/    face    34bc0    9fbf1        0        5/
s/34120000  b000000  1000000  5000000 68706c61/    1234        b        1        5 616c7068/
s/34120000  b000000  1000000        0  2000000/    1234        b        1        0        2/
s/34120000  b000000 ffffffff  5000000 68706c61/    1234        b ffffffff        5 616c7068/
s/34120000  b000000 ffffffff  5000000 68706c61/    1234        b ffffffff        5 616c7068/
s/2b000000  6000000        0 1523c71e     c03f/      2b        6        0 1ec72315 3fc00000/
s/80030601 2955385e 402f6a7a 622b3162 7e7e0032/ 1060380 402f6a7a 2955385e 62312b62 32007e7e/
s/80030601 7a6a2f40 5e385529 622b3162 7e7e0032/ 1060380 402f6a7a 2955385e 62312b62 32007e7e/
s/80030501 54442d18 402921fb 622b3162 7e7e7e00/ 1050380 402921fb 54442d18 62312b62   7e7e7e/
s/80030501 fb212940 182d4454 622b3162 7e7e7e00/ 1050380 402921fb 54442d18 62312b62   7e7e7e/
s/ b000000  1000000 e8030000  2000000 adde0000/       b        1      3e8        2     dead/
s/d0b60000 39300000 dab60000 a05b0000/    b6d0     3039     b6da     5ba0/
s/34000000 7972616d 64616820 6c206120/      34 6d617279 20686164 2061206c/
s/ d000000 2e6f6f66 2e726162 726f6e73/       d 666f6f2e 6261722e 736e6f72/
s/80030401 7f3321d2 4022d97c   2b3162/ 1040380 4022d97c 7f3321d2 62312b00/
s/80030401 7cd92240 d221337f   2b3162/ 1040380 4022d97c 7f3321d2 62312b00/
s/80030301 54442d18 401921fb 7e003162/ 1030380 401921fb 54442d18 6231007e/
s/80030301 fb211940 182d4454 7e003162/ 1030380 401921fb 54442d18 6231007e/
s/80030201 54442d18 400921fb 7e7e0062/ 1020380 400921fb 54442d18 62007e7e/
s/80030201 fb210940 182d4454 7e7e0062/ 1020380 400921fb 54442d18 62007e7e/
s/cefa0000 c04b0300 f1fb0900/    face    34bc0    9fbf1/
s/ 2000000  b0a0201 16151402/       2  1020a0b  2141516/
s/34123412  5000000/12341234        5/
s/    8001        0 ......../    8001        0 ?? pad ?/
s/    8001        0 ......../    8001        0 ?? pad ?/
s/    8002        0  3000000/    8002        0        3/
s/SERVER  3000000/SERVER        3/
s/CLIENT 41000000/CLIENT       41/
s/SERVER 39300000/SERVER     3039/
s/CLIENT 39300000/CLIENT     3039/
s/SERVER c7cfffff/SERVER ffffcfc7/
s/CLIENT c7cfffff/CLIENT ffffcfc7/
s/SERVER efbeadde/SERVER deadbeef/
s/CLIENT efbeadde/CLIENT deadbeef/
s/CLIENT 80030601 7a6a2f40 5e385529 622b3162 7e7e0032/CLIENT  1060380 402f6a7a 2955385e 62312b62 32007e7e/
s/CLIENT 80030501 fb212940 182d4454 622b3162 7e7e7e00/CLIENT  1050380 402921fb 54442d18 62312b62   7e7e7e/
s/CLIENT 80030401 7cd92240 d221337f   2b3162/CLIENT  1040380 4022d97c 7f3321d2 62312b00/
s/CLIENT 80030301 fb211940 182d4454 7e003162/CLIENT  1030380 401921fb 54442d18 6231007e/
s/CLIENT 80030201 fb210940 182d4454 7e7e0062/CLIENT  1020380 400921fb 54442d18 62007e7e/
}' \
    -e '/^008:/{
s/68706c61 7e7e7e61 fcffffff  4000000 61746562 fdffffff  5000000 6d6d6167/616c7068 617e7e7e fffffffc        4 62657461 fffffffd        5 67616d6d/
s/7e7e7e61  4000000 61746562  5000000 6d6d6167 7e7e7e61 28000000 676e6f6c/617e7e7e        4 62657461        5 67616d6d 617e7e7e       28 6c6f6e67/
s/6c747469 616c2065 690a626d 66207374 6365656c 61772065 68772073 20657469/6974746c 65206c61 6d620a69 74732066 6c656563 65207761 73207768 69746520/
s/ 1000000 ffffffff d2040000 efbe0000  3000000  2000000 29090000  4000000/       1 ffffffff      4d2     beef        3        2      929        4/
s/7e7e7e61  2000000  4000000 61746562  4000000  5000000 6d6d6167 7e7e7e61/617e7e7e        2        4 62657461        4        5 67616d6d 617e7e7e/
s/7e7e7e61 ffffffff  4000000 61746562 ffffffff  5000000 6d6d6167 7e7e7e61/617e7e7e ffffffff        4 62657461 ffffffff        5 67616d6d 617e7e7e/
s/efbe0000  3000000  2000000 29090000  4000000 800d0000  8000000/    beef        3        2      929        4      d80        8/
s/e4b60000  7870000  1000000  1000000        0    80000   6f6f66/    b6e4     8707        1        1        0      800 666f6f00/
s/ 4000000        0  8000000        0 10000000        0 20000000/       4        0        8        0       10        0       20/
s/ 2000000        0 cefa0000  1000000  1000000        0  1000000/       2        0     face        1        1        0        1/
s/d2040000 efbe0000  3000000        0  2000000 29090000/     4d2     beef        3        0        2      929/
s/1523c71e     c03f   fc3f00 ff030000 ffffffff/1ec72315 3fc00000   3ffc00      3ff ffffffff/
s/    c03f   fc3f00 ff030000 ffffffff/3fc00000   3ffc00      3ff ffffffff/
s/68736966 7e7e7e6f/66697368 6f7e7e7e/
s/008:   fc3f00 ff030000 ffffffff/008:   3ffc00      3ff ffffffff/
s/008: 7e7e7e74/008: 747e7e7e/
s/008: 7e7e7e65/008: 657e7e7e/
}' \
    -e '/^016:/{
s/7e7e7e61 feffffff 28000000 676e6f6c 6e6f6e2d 6572672d 6c2d6b65 65747465/617e7e7e fffffffe       28 6c6f6e67 2d6e6f6e 2d677265 656b2d6c 65747465/
s/6e6f6e2d 6572672d 6c2d6b65 65747465 616e2d72 692d656d 68742d6e 696d2d65/2d6e6f6e 2d677265 656b2d6c 65747465 722d6e61 6d652d69 6e2d7468 652d6d69/
s/ffffffff 28000000 676e6f6c 6e6f6e2d 6572672d 6c2d6b65 65747465 616e2d72/ffffffff       28 6c6f6e67 2d6e6f6e 2d677265 656b2d6c 65747465 722d6e61/
s/ 8000000 28000000 676e6f6c 6e6f6e2d 6572672d 6c2d6b65 65747465 616e2d72/       8       28 6c6f6e67 2d6e6f6e 2d677265 656b2d6c 65747465 722d6e61/
s/40000000        0 80000000        0    10000        0    20000/      40        0       80        0      100        0      200/
s/ 4000000 800d0000  8000000 d7110000        0  1000000  1000000/       4      d80        8     11d7        0        1        1/
s/800d0000  8000000 d7110000/     d80        8     11d7/
s/ 2000000    40000/       2      400/
s/016: 73207361  a776f6e/016: 61732073 6e6f770a/
s/016: d7110000/016:     11d7/
}' \
    -e '/^024:/{
s/616e2d72 692d656d 68742d6e 696d2d65 656c6464 ffffffff  5000000 746c6564/722d6e61 6d652d69 6e2d7468 652d6d69 64646c65 ffffffff        5 64656c74/
s/656c6464  5000000 746c6564 7e7e7e61  7000000 69737065 7e6e6f6c  3000000/64646c65        5 64656c74 617e7e7e        7 65707369 6c6f6e7e        3/
s/692d656d 68742d6e 696d2d65 656c6464 ffffffff  5000000 746c6564 7e7e7e61/6d652d69 6e2d7468 652d6d69 64646c65 ffffffff        5 64656c74 617e7e7e/
s/692d656d 68742d6e 696d2d65 656c6464 10000000  5000000 746c6564 7e7e7e61/6d652d69 6e2d7468 652d6d69 64646c65       10        5 64656c74 617e7e7e/
s/2a000000 1523c71e  1000000  1000000 ffffffff 2c000000     c03f  1000000/      2a 1ec72315        1        1 ffffffff       2c 3fc00000        1/
s/024:        0    40000        0/024:        0      400        0/
s/2e6f6f66 2e726162/666f6f2e 6261722e/
}' \
    -e '/^032:/{
s/7e7e7e61        0  7000000 69737065 7e6e6f6c  1000000  3000000 7e696870/617e7e7e        0        7 65707369 6c6f6e7e        1        3 7068697e/
s/7e696870  2000000 7e7e756d  6000000 626d616c 7e7e6164  5000000 67656d6f/7068697e        2 6d757e7e        6 6c616d62 64617e7e        5 6f6d6567/
s/ffffffff  7000000 69737065 7e6e6f6c ffffffff  3000000 7e696870 ffffffff/ffffffff        7 65707369 6c6f6e7e ffffffff        3 7068697e ffffffff/
s/ 1000000 ffffffff 2f000000   fc3f00  1000000  1000000 ffffffff 31000000/       1 ffffffff       2f   3ffc00        1        1 ffffffff       31/
s/20000000  7000000 69737065 7e6e6f6c 40000000  3000000 7e696870 80000000/      20        7 65707369 6c6f6e7e       40        3 7068697e       80/
s/032:   6d6f63/032: 636f6d00/
}' \
    -e '/^040:/{
s/ 2000000  2000000 7e7e756d  3000000  6000000 626d616c 7e7e6164  4000000/       2        2 6d757e7e        3        6 6c616d62 64617e7e        4/
s/ 2000000 7e7e756d ffffffff  6000000 626d616c 7e7e6164 ffffffff  5000000/       2 6d757e7e ffffffff        6 6c616d62 64617e7e ffffffff        5/
s/fecaadde c7cfffff  6000006 7e7e0030  c000003 21436587 78563412  8000004/deadcafe ffffcfc7  6000006 30007e7e  300000c 87654321 12345678  4000008/
s/ 2000000 7e7e756d    10000  6000000 626d616c 7e7e6164    20000  5000000/       2 6d757e7e      100        6 6c616d62 64617e7e      200        5/
s/542d5a54 45524548/545a2d54 48455245/
s/7e7e7e61  5000000 74656874 7e7e7e61/617e7e7e        5 74686574 617e7e7e/
}' \
    -e '/^048:/{
s/ 5000000 67656d6f 7e7e7e61  5000000  5000000 74656874 7e7e7e61/       5 6f6d6567 617e7e7e        5        5 74686574 617e7e7e/
s/67656d6f 7e7e7e61    40000  5000000 74656874 7e7e7e61/6f6d6567 617e7e7e      400        5 74686574 617e7e7e/
s/67656d6f 7e7e7e61 ffffffff  5000000 74656874 7e7e7e61/6f6d6567 617e7e7e ffffffff        5 74686574 617e7e7e/
s/7d1a6963  c000005 9b979b59 135a208f/63691a7d  500000c 599b979b 8f205a13/
}' \
    -e '/^056:/{
s/482d5a54   455245/545a2d48 45524500/
}' \
    -e '/_pmSendRequest/s/type=50331648/type=3/' \
    -e '/Semantics: counter/s/count x 10\^-1\^5/Mbyte \/ hour/' \
| $PCP_AWK_PROG '
/PDU_LOG_CONTROL/	{ fix = 2 }
/pmResult/ && fix > 0	{ fix--; $6 = "NOW"; $7 = "TODAY" }
			{ print }'

# success, all done
status=0
exit