summaryrefslogtreecommitdiff
path: root/qa/740
diff options
context:
space:
mode:
Diffstat (limited to 'qa/740')
-rwxr-xr-xqa/74057
1 files changed, 57 insertions, 0 deletions
diff --git a/qa/740 b/qa/740
new file mode 100755
index 0000000..c840ea9
--- /dev/null
+++ b/qa/740
@@ -0,0 +1,57 @@
+#!/bin/sh
+# PCP QA Test No. 740
+# Exercise transfer of pid, uid, gid from client to PMDA
+# when using Unix domain sockets.
+#
+# Copyright (c) 2013 Red Hat.
+#
+
+seq=`basename $0`
+echo "QA output created by $seq"
+
+# get standard environment, filters and checks
+. ./common.product
+. ./common.filter
+. ./common.check
+
+_get_libpcp_config
+$unix_domain_sockets || _notrun "No unix domain socket support available"
+
+status=1 # failure is the default!
+$sudo rm -rf $tmp.* $seq.full
+trap "cd $here; rm -rf $tmp.*; exit \$status" 0 1 2 3 15
+
+_filter()
+{
+ grep -i attribute | \
+ sed \
+ -e "s/processid=$pid/processid=PID/" \
+ -e "s/groupid=$gid/groupid=GID/" \
+ -e "s/userid=$uid/userid=UID/" \
+ -e '/ctx=[0-9][0-9]*/s//ctx=N/' \
+ -e '/pmdasample([0-9][0-9]*)/s//pmdasample(PID)/' \
+ -e 's/^\[[A-Z].. [A-Z].. *[0-9][0-9]* ..:..:..]/[DATETIME]/'
+}
+
+# real QA test starts here
+$sudo $PCP_RC_DIR/pmcd start >/dev/null 2>&1
+_wait_for_pmcd
+
+# store to enable verbose attribute diagnostics
+authdbg=`pmdbg -l | grep DBG_TRACE_AUTH | awk '{ print $2 }'`
+pmstore sample.control $authdbg
+
+# unix domain fetch (with attribute transfer)
+pminfo -h unix: sample.long.one &
+pid=$!
+uid=`id -u`
+gid=`id -g`
+wait $!
+
+cat $PCP_LOG_DIR/pmcd/sample.log | _filter
+pmstore sample.control 0
+
+# success, all done
+status=0
+
+exit