summaryrefslogtreecommitdiff
path: root/qa/367
diff options
context:
space:
mode:
Diffstat (limited to 'qa/367')
-rwxr-xr-xqa/367241
1 files changed, 241 insertions, 0 deletions
diff --git a/qa/367 b/qa/367
new file mode 100755
index 0000000..106c85c
--- /dev/null
+++ b/qa/367
@@ -0,0 +1,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