summaryrefslogtreecommitdiff
path: root/qa/368
diff options
context:
space:
mode:
Diffstat (limited to 'qa/368')
-rwxr-xr-xqa/368184
1 files changed, 184 insertions, 0 deletions
diff --git a/qa/368 b/qa/368
new file mode 100755
index 0000000..24646d5
--- /dev/null
+++ b/qa/368
@@ -0,0 +1,184 @@
+#!/bin/sh
+# PCP QA Test No. 368
+#
+# pmlogconf - handle changes in installed group files
+#
+# Copyright (c) 2014 Red Hat.
+# Copyright (c) 2010 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
+
+[ -f $PCP_BINADM_DIR/pmlogconf-setup ] || _notrun "pmlogconf v2.0 is not installed"
+
+rm -f $seq.out
+if [ $PCP_VER -ge 3901 ]
+then
+ suffix=3
+elif [ $PCP_VER -ge 3802 ]
+then
+ suffix=2
+else
+ suffix=1
+fi
+if [ $PCP_PLATFORM = darwin ]
+then
+ ln $seq.darwin.$suffix $seq.out || exit 1
+else
+ ln $seq.other.$suffix $seq.out || exit 1
+fi
+
+status=0 # success is the default!
+$sudo rm -rf $tmp.* $seq.full
+trap "rm -rf $tmp $tmp.*; exit \$status" 0 1 2 3 15
+mkdir $tmp
+
+# need to handle diff-c lines like this
+# *** TMP.conf 2010-06-17 06:36:00.000000000 +1000
+# --- /var/tmp/pcp.[a0Sg619P4/]ctl 2012-11-16 13:37:29.000000000 +0000
+#
+_filter()
+{
+ sed \
+ -e "s;$tmp;TMP;g" \
+ -e '/^\*\*\* TMP\.conf/s/\.conf.*/.orig .../' \
+ -e '/^--- .*\/ctl/s/ .*/ TMP.new .../' \
+ -e '/^--- .*\.ctl/s/ .*/ TMP.new .../'
+}
+
+cat <<End-of-File >$tmp/01
+#pmlogconf-setup 2.0
+probe sample.long.ten == 10 ? include : exclude
+ident qa group one
+ sample.long.ten
+ sample.long.hundred
+ sample.long.million
+End-of-File
+
+cat <<End-of-File >$tmp/02
+#pmlogconf-setup 2.0
+probe sample.ulong.ten != 10 ? include : exclude
+ident qa group two
+ sample.ulong.ten
+End-of-File
+
+cat <<End-of-File >$tmp/03
+#pmlogconf-setup 2.0
+probe sample.longlong.ten >= 10 ? include : available
+ident qa group three
+ sample.longlong.ten
+End-of-File
+
+cat <<End-of-File >$tmp/04
+#pmlogconf-setup 2.0
+probe sample.ulonglong.ten < 10 ? include : available
+ident qa group four
+ sample.ulonglong.ten
+End-of-File
+
+# real QA test starts here
+
+pmlogconf -d $tmp $tmp.conf \
+| _filter
+
+echo "--- start initial config file ---"
+cat $tmp.conf | _filter
+echo "--- end initial config file ---"
+
+cat <<End-of-File >$tmp/00
+#pmlogconf-setup 2.0
+force include
+ident qa group zero
+ sample.float.ten
+End-of-File
+
+cat <<End-of-File >$tmp/05
+#pmlogconf-setup 2.0
+force available
+ident qa group five
+ sample.double.ten
+End-of-File
+
+rm $tmp/03
+
+( echo q ; echo '') | pmlogconf -v -d $tmp $tmp.conf \
+| _filter
+
+# reverse the condition
+#
+cat <<End-of-File >$tmp/02
+#pmlogconf-setup 2.0
+probe sample.ulong.ten <= 10 ? include : exclude
+ident qa group two
+ sample.ulong.ten
+End-of-File
+
+# reverse the condition
+#
+cat <<End-of-File >$tmp/03
+#pmlogconf-setup 2.0
+probe sample.longlong.ten > 10 ? include : available
+ident qa group three
+ sample.longlong.ten
+End-of-File
+
+( echo q ; echo '') | pmlogconf -r -d $tmp $tmp.conf \
+| _filter
+
+# drop a metric
+#
+cat <<End-of-File >$tmp/01
+#pmlogconf-setup 2.0
+probe sample.long.ten ~ ^10$ ? include : exclude
+ident qa group one
+ sample.long.ten
+ sample.long.million
+End-of-File
+
+# add a metric
+#
+cat <<End-of-File >$tmp/02
+#pmlogconf-setup 2.0
+probe sample.ulong.ten ~ 10 ? include : exclude
+ident qa group two
+ sample.ulong.ten
+ sample.ulong.million
+End-of-File
+
+cat <<'End-of-File' >$tmp/98
+#pmlogconf-setup 2.0
+ident postgresql summary information
+probe postgresql.stat.all_tables.seq_scan ? include : available
+ postgresql.stat.database
+ postgresql.stat.all_tables
+ postgresql.stat.all_indexes
+ postgresql.statio.all_tables
+ postgresql.statio.all_indexes
+End-of-File
+
+cat <<'End-of-File' >$tmp/99
+#pmlogconf-setup 2.0
+ident Example from pmlogconf(1) man page
+ident ... more descripton
+delta 1 minute
+probe sample.secret.foo.one values ? include : exclude
+ sample.secret.foo.one
+ sample.secret.foo.bar # non-leaf in the PMNS
+ sample.colour [ red green ]
+End-of-File
+
+( echo q ; echo '') | pmlogconf -d $tmp $tmp.conf \
+| _filter
+
+echo "--- start final config file ---"
+cat $tmp.conf | _filter
+echo "--- end final config file ---"
+
+# success, all done
+exit