diff options
Diffstat (limited to 'qa/367')
-rwxr-xr-x | qa/367 | 241 |
1 files changed, 241 insertions, 0 deletions
@@ -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 |