docs: tweak formatting in pmrep(1) archive folio example
[pcp.git] / qa / 148
blob4d24d91419845d48ebeb7674272e7d38641184cb
1 #! /bin/sh
2 # PCP QA Test No. 148
3 # validate ipc.shm metric values
5 # Copyright (c) 1995-2002 Silicon Graphics, Inc. All Rights Reserved.
8 seq=`basename $0`
9 echo "QA output created by $seq"
11 # get standard filters
12 . ./common.product
13 . ./common.filter
15 if [ $PCP_PLATFORM != irix ]
16 then
17 echo "Missing some ipc/shm/sem metrics on $PCP_PLATFORM" >$seq.notrun
18 echo "$seq: [not run] `cat $seq.notrun`"
19 exit 0
22 trap "rm -f $tmp.*; exit 0" 0 1 2 3 15
24 # blow away any residual junk
25 $sudo src/ipcs_clear
28 # real QA test starts here
30 # assumed output format from ipcs -am
31 #IPC status from /dev/kmem as of Wed Mar 26 12:23:47 1997
32 #T ID KEY MODE OWNER GROUP CREATOR CGROUP NATTCH SEGSZ CPID LPID ATIME DTIME CTIME
33 #Shared Memory:
34 #m 9 0x09e4218f --rw-r----- oracle dba oracle dba 2351167232 6159 15032 12:03:49 12:06:18 15:47:42
36 # build the sed filter from the heading line of the output
38 $sudo ipcs -am >$tmp.out
39 sed -n <$tmp.out >$tmp.sed -e '/NATTCH/{
40 s/./.\\(/
41 s/ID/..\\)/
42 s/CGROUP/&\\(/
43 s/NATTCH/&\\)\\(/
44 s/\(SEGSZ\).*/\1\\).*/
45 s/[A-Z ]/./g
46 s/^/s\//
47 s/$/\/\\1 \\2 \\3\/p/
51 echo 's/ */ /g' >>$tmp.sed
52 echo 's/^ //' >>$tmp.sed
53 echo 's/ $//' >>$tmp.sed
55 grep '^m' $tmp.out \
56 | sed -f $tmp.sed \
57 | LC_COLLATE=POSIX sort >$tmp.ipc
59 pminfo -F ipc.shm.nattch \
60 | sed -n \
61 -e '/ inst /{
62 s/.*\[//
63 s/ .* value / /p
64 }' \
65 | LC_COLLATE=POSIX sort >$tmp.1
67 pminfo -F ipc.shm.segsz \
68 | sed -n \
69 -e '/ inst /{
70 s/.*\[//
71 s/ .* value / /p
72 }' \
73 | LC_COLLATE=POSIX sort >$tmp.2
75 LC_COLLATE=POSIX join $tmp.1 $tmp.2 >$tmp.pcp
77 if diff $tmp.pcp $tmp.ipc
78 then
79 echo "ipc.shm and ipcs agree"
80 else
81 echo "=== ipcs -am ==="
82 $sudo ipcs -am
83 echo "=== summary ==="
84 cat $tmp.ipc
85 echo "=== pminfo -F ==="
86 pminfo -F ipc.shm.nattch ipc.shm.segsz
87 echo "=== summary ==="
88 cat $tmp.pcp
89 echo "Mismatch error: summaries should be identical"
90 exit 1
93 exit 0