Drop unused condition check
[pcp.git] / qa / 361
blobce9d0af08217e44260c992282dbf4166260501ab
1 #! /bin/sh
2 # PCP QA Test No. 361
3 # Exercise cgroup metrics in the Linux PMDA
5 # Copyright (c) 2010 Aconex. All Rights Reserved.
8 seq=`basename $0`
9 echo "QA output created by $seq"
11 # get standard environment, filters and checks
12 . ./common.product
13 . ./common.filter
14 . ./common.check
16 [ $PCP_PLATFORM = linux ] || _notrun "tests pmdalinux functionality on Linux only"
18 _cleanup()
20 rm -f $tmp.*
21 $sudo umount $grp 2>/dev/null
22 rmdir $grp 2>/dev/null
25 _filter()
27 grep -v percpu \
28 | LC_COLLATE=POSIX sort
31 prefix=cgroup
32 grp=/tmp/cgroup_$seq
33 status=1 # failure is the default!
34 trap "_cleanup; exit \$status" 0 1 2 3 15
36 [ -f /proc/cgroups ] || _notrun "No support for cgroups in the running kernel"
37 grep -q cgroup /proc/mounts && _notrun "One or more cgroups already in use"
38 grep -q cpuacct /proc/cgroups || _notrun "No cpuacct cgroup support"
39 grep -q cpuset /proc/cgroups || _notrun "No cpuset cgroup support"
40 grep -q cpu /proc/cgroups || _notrun "No cpusched cgroup support"
42 rmdir $grp 2>/dev/null
43 mkdir $grp || _fail "Cannot create cgroup mount point"
45 # since the proc PMDA was split from the Linux PMDA, the proc PMDA may
46 # not be installed (caught by the notrun cases above) or installed as
47 # a daemon, in which case the standard processing of pmcd.conf for
48 # a local PMAPI context connection will not find it, so may have to
49 # be specific about the proc PMDA DSO location
51 pmda="-Kclear -Kadd,3,$PCP_PMDAS_DIR/proc/pmda_proc.so,proc_init"
53 # real test starts here
54 echo "initial fetch, starting with a clean slate"
55 pmprobe -L $pmda -v $prefix.mounts | _filter
57 echo "cpu metrics fetch, no user groups defined, single controller"
58 $sudo mount -t cgroup -o cpu none $grp || _fail "cpuset mount"
59 pmprobe -v -L $pmda $prefix.mounts | _filter
60 pmprobe -I -L $pmda $prefix.cpusched | _filter
61 $sudo umount $grp || _fail "cpu umount"
63 echo "cpuacct and cpuset fetch, no user groups defined, dual controllers"
64 $sudo mount -t cgroup -o cpuacct,cpuset none $grp || _fail "cpu,cpuacct mount"
65 pmprobe -v -L $pmda $prefix.mounts | _filter
66 pmprobe -I -L $pmda $prefix.cpuacct $prefix.cpuset | _filter
67 $sudo umount $grp || _fail "cpu,cpuacct cgroup umount"
69 echo "cpuacct and cpuset fetch, one user group defined, dual controllers"
70 $sudo mount -t cgroup -o cpuacct,cpuset none $grp || _fail "cpu,cpuacct mount"
71 $sudo mkdir $grp/pcpqa
72 pmprobe -v -L $pmda $prefix.mounts | _filter
73 pmprobe -L $pmda $prefix.mounts $prefix.cpuacct $prefix.cpuset | _filter
74 $sudo rmdir $grp/pcpqa
75 echo "cpuacct and cpuset fetch, one user group removed, dual controllers"
76 pmprobe -I -L $pmda $prefix.mounts $prefix.cpuacct $prefix.cpuset | _filter
77 $sudo umount $grp || _fail "cpu,cpuacct cgroup umount"
79 # success, all done
80 status=0
81 exit