summaryrefslogtreecommitdiff
path: root/qa/448
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
committerIgor Pashev <pashev.igor@gmail.com>2014-10-26 12:33:50 +0400
commit47e6e7c84f008a53061e661f31ae96629bc694ef (patch)
tree648a07f3b5b9d67ce19b0fd72e8caa1175c98f1a /qa/448
downloadpcp-47e6e7c84f008a53061e661f31ae96629bc694ef.tar.gz
Debian 3.9.10debian/3.9.10debian
Diffstat (limited to 'qa/448')
-rwxr-xr-xqa/44865
1 files changed, 65 insertions, 0 deletions
diff --git a/qa/448 b/qa/448
new file mode 100755
index 0000000..17b466e
--- /dev/null
+++ b/qa/448
@@ -0,0 +1,65 @@
+#!/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/\\/<backslash>/g' \
+| while read var value
+do
+ xvalue=`src/getconfig "$var" | sed -e 's/.* -> //' -e 's/[ ]*$//' -e 's/\\\\/<backslash>/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