summaryrefslogtreecommitdiff
path: root/qa/000
diff options
context:
space:
mode:
Diffstat (limited to 'qa/000')
-rwxr-xr-xqa/00059
1 files changed, 59 insertions, 0 deletions
diff --git a/qa/000 b/qa/000
new file mode 100755
index 0000000..fa0e1b8
--- /dev/null
+++ b/qa/000
@@ -0,0 +1,59 @@
+#! /bin/sh
+# PCP QA Test No. 000
+# check how many processes we have running and their arguments
+#
+# Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved.
+#
+
+seq=`basename $0`
+echo "QA output created by $seq"
+
+# get standard filters
+. ./common.product
+. ./common.filter
+
+trap "rm -f $tmp.*; exit" 0 1 2 3 15
+
+# check PMCS processes
+rm -f $tmp.err
+# pmdaoracle is optional, so skip it and other optional ones
+ps $PCP_PS_ALL_FLAGS \
+| _filter_optional_pmdas \
+| sed \
+ -e '/dbpmda/d' \
+ -e '/<defunct>/d' \
+| $PCP_AWK_PROG '
+$7 == "TIME" || $10 == "TIME" { next }
+ { want = 0
+ psargs = 0
+ for (i = 12; i >= 7; i--) {
+ # most ps variants have TIME as N:NN
+ if ($i ~ /[0-9]:[0-9][0-9]$/) {
+ psargs=i+1
+ break
+ }
+ # darwin ps has TIME as N:NN.NN
+ if ($i ~ /[0-9]:[0-9][0-9]\.[0-9][0-9]$/) {
+ psargs=i+1
+ break
+ }
+ }
+ if (psargs == 0) {
+ print "Error: cannot find psargs in this ps line" >"'$tmp.err'"
+ print $0 >"'$tmp.err'"
+ next
+ }
+ }
+$psargs ~ /pmcd/ { want = 1 }
+$psargs ~ /pmda/ { want = 1 }
+want == 1 { print $psargs }' \
+| sed \
+ -e 's;.*/\([^/]*\);\1;' \
+| LC_COLLATE=POSIX sort
+
+if [ -s $tmp.err ]
+then
+ echo
+ echo "Warnings ..."
+ cat $tmp.err
+fi