Merge branch 'master' of git://git.pcp.io/pcp into qt
[pcp.git] / qa / 116
blobb822408c9ee8e5b03b73835cd668111f11234f80
1 #! /bin/sh
2 # PCP QA Test No. 116
3 # Check hyphen in host name
5 # Copyright (c) 2002 Silicon Graphics, Inc. All Rights Reserved.
8 seq=`basename $0`
9 echo "QA output created by $seq"
11 # get standard environment, filters and checks
12 . ./common.product
13 . ./common.filter
14 . ./common.check
16 . ./common.config
18 [ -z "$PCPQA_HYPHEN_HOST" ] && _notrun 'PCPQA_HYPHEN_HOST is not set in ./common.config'
20 status=0 # success is the default!
21 $sudo rm -rf $tmp.*
22 rm -f $seq.full
23 trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15
25 # real QA test starts here
27 host=$PCPQA_HYPHEN_HOST
28 eval realhost=`pmprobe -v -h $PCPQA_HYPHEN_HOST pmcd.hostname | \
29 $PCP_AWK_PROG '{ print $3 }'`
30 if [ -z "$realhost" ]
31 then
32 _notrun "cannot connect to pmcd on $PCPQA_HYPHEN_HOST"
34 [ "$realhost" = Unknown ] && realhost=`pmhostname $PCPQA_HYPHEN_HOST`
36 _filter_pmlc()
38 sed \
39 -e '/primary/d' \
40 -e "s/$host/HYPHEN-HOST/" \
41 -e "s/$realhost/HYPHEN-HOST/" \
42 -e 's/HYPHEN-HOST\.localdomain/HYPHEN-HOST/' \
43 -e 's/ *.*/ .../'
46 _filter()
48 sed \
49 -e "s/$host/HYPHEN-HOST/" \
50 -e "s/$realhost/HYPHEN-HOST/" \
51 -e 's/HYPHEN-HOST\.localdomain/HYPHEN-HOST/' \
52 -e 's/[A-Z][a-z][a-z] [A-Z][a-z][a-z] *[0-9][0-9]* [0-9][0-9]:[0-9][0-9]:[0-9][0-9]/DATE/'
55 # real QA test starts here
57 echo "pmie [hostname in config]"
58 cat <<End-of-File >$tmp.config
59 delta = 1;
60 // note have to quote hostname
61 2 * pmcd.control.sighup :'$host' - pmcd.control.sighup :'$host';
62 End-of-File
63 cat $tmp.config >$seq.full
64 pmie -T 2sec -v <$tmp.config >$tmp.out 2>$tmp.err
65 cat $tmp.out $tmp.err \
66 | tee -a $seq.full \
67 | sed -e 's/expr_1: */expr_1: /' \
68 | _show_pmie_errors
70 echo
71 echo "pmval [metric spec on command line]"
72 pmval -t0.5 -s 1 $host:pmcd.control.sighup \
73 | tee -a $seq.full \
74 | _filter
76 echo
77 echo "pmlc [several uses]"
78 ( echo "show loggers"; \
79 echo "show loggers@$host"; \
80 echo "connect primary@$host"; \
81 echo "status" \
82 ) \
83 | pmlc -h $host -P \
84 | tee -a $seq.full \
85 | _filter_pmlc
87 # success, all done
88 status=0
89 exit