#!/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