summaryrefslogtreecommitdiff
path: root/qa/900
diff options
context:
space:
mode:
Diffstat (limited to 'qa/900')
-rwxr-xr-xqa/900103
1 files changed, 103 insertions, 0 deletions
diff --git a/qa/900 b/qa/900
new file mode 100755
index 0000000..f9b2817
--- /dev/null
+++ b/qa/900
@@ -0,0 +1,103 @@
+#!/bin/sh
+# PCP QA Test No. 900
+# Test pcp(1) invokes other utilities with environment set.
+#
+# Copyright (c) 2014 Red Hat.
+#
+
+seq=`basename $0`
+echo "QA output created by $seq"
+
+# get standard environment, filters and checks
+. ./common.product
+. ./common.filter
+. ./common.check
+
+status=1 # failure is the default!
+bindir="$HOME/.pcp/bin"
+$sudo rm -rf $tmp.* $seq.full
+
+_cleanup()
+{
+ rm -f "$bindir/pcp-env"
+ rm -rf $tmp.*
+}
+trap "_cleanup; exit \$status" 0 1 2 3 15
+
+# real QA test starts here
+mkdir -p "$bindir" 2>/dev/null
+test -d "$HOME/.pcp/bin" || _notrun "Failed making local directory: $bindir"
+test -w "$HOME/.pcp/bin" || _notrun "Cannot write local directory: $bindir"
+
+# build a sub-command for pcp(1), installed locally
+$sudo rm -f $bindir/pcp-env
+cat <<EOF > $bindir/pcp-env
+#!/bin/sh
+env | grep ^PCP_
+EOF
+chmod 755 "$bindir/pcp-env"
+
+# compare baseline pcp.conf variables to new additions on each
+# invocation of pcp(1) with a sub-command and the standard PCP
+# command line options.
+#
+env | grep ^PCP_ > $tmp.baseline
+
+_verify()
+{
+ echo && echo "$1"
+ diff $tmp.baseline $2 | sed \
+ -e 's/^[0-9][0-9]*a[0-9][0-9]*/added:/g'
+}
+
+pcp env > $tmp.env.none
+_verify "no arguments" $tmp.env.none
+
+pcp -A '1 hour' env > $tmp.env.align
+_verify "align argument" $tmp.env.align
+
+pcp -a src/rattle env > $tmp.env.archive
+_verify "archive argument" $tmp.env.archive
+
+pcp -h moo.cow.com env > $tmp.env.host
+_verify "hostname argument" $tmp.env.host
+
+pcp -D TRACE_PDU env > $tmp.env.debug
+_verify "debug argument" $tmp.env.debug
+
+pcp -g env > $tmp.env.guimode
+_verify "gui mode argument" $tmp.env.guimode
+
+pcp -L env > $tmp.env.localmode
+_verify "local mode argument" $tmp.env.localmode
+
+pcp -n /pmns/file env > $tmp.env.pmns
+_verify "namespace argument" $tmp.env.pmns
+
+pcp -O '@ 1996-03-05 14:07:47 EST -1hour' env > $tmp.env.origin
+_verify "origin argument" $tmp.env.origin
+
+pcp -p 12345 env > $tmp.env.guiport
+_verify "gui port argument" $tmp.env.guiport
+
+pcp -S 'yesterday, 2am' env > $tmp.env.start
+_verify "start time argument" $tmp.env.start
+
+pcp -s 5 env > $tmp.env.samples
+_verify "samples argument" $tmp.env.samples
+
+pcp -T '@ Mar 4 13:07:47 1996' env > $tmp.env.finish
+_verify "finish time argument" $tmp.env.finish
+
+pcp -t '2.5 seconds' env > $tmp.env.samples
+_verify "interval argument" $tmp.env.samples
+
+pcp -Z UTC env > $tmp.env.timezone
+_verify "timezone argument" $tmp.env.timezone
+
+pcp -z env > $tmp.env.hostzone
+_verify "hostzone argument" $tmp.env.hostzone
+
+# success, all done
+status=0
+exit