#!/bin/sh # PCP QA Test No. 448 # pmGetConfig exerciser # # Copyright (c) 2011 Ken McDonell. All Rights Reserved. # seq=`basename $0` echo "QA output created by $seq" # get standard environment, filters and checks . ./common.product . ./common.filter . ./common.check [ $PCP_VER -lt 3600 ] && _notrun "Fix for __pmConfig is in PCP 3.6" status=0 # success is the default! $sudo rm -rf $tmp.* $seq.full trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15 # real QA test starts here echo "error cases ..." echo "bad variable" src/getconfig NO_SUCH_VAR echo "exit status=$?" echo echo "bad \$PCP_CONF" PCP_CONF=/no/such/file src/getconfig PCP_BIN_DIR echo "exit status=$?" echo echo "bad \$PCP_DIR" PCP_DIR=/no/such/directory src/getconfig PCP_BIN_DIR echo "exit status=$?" if [ ! -r $PCP_DIR/etc/pcp.conf ] then echo "Error: unable to read $PCP_DIR/etc/pcp.conf!" exit 1 fi echo echo "all vars in pcp.conf ... report only errors" sed <$PCP_DIR/etc/pcp.conf \ -e '/^#/d' \ -e '/^[ ]*$/d' \ -e 's/[ ][ ]*"/"/' \ -e 's/"[ ][ ]*/"/' \ -e 's/"//g' \ -e 's/=/ /' \ -e 's/\\//g' \ | while read var value do xvalue=`src/getconfig "$var" | sed -e 's/.* -> //' -e 's/[ ]*$//' -e 's/\\\\//g'` #debug# echo "$var: $value ? $xvalue" if [ "X${value}X" != "X${xvalue}X" ] then echo "$var: expecting \"$value\", got \"$xvalue\"" fi done # success, all done exit