File: 879

package info (click to toggle)
pcp 7.1.0-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 252,748 kB
  • sloc: ansic: 1,483,656; sh: 182,366; xml: 160,462; cpp: 83,813; python: 24,980; perl: 18,327; yacc: 6,877; lex: 2,864; makefile: 2,738; awk: 165; fortran: 60; java: 52
file content (88 lines) | stat: -rwxr-xr-x 2,076 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#!/bin/sh
# PCP QA Test No. 879
# Exercise pmdapipe config file parsing and error handling.
#
# Copyright (c) 2015 Red Hat.
#

seq=`basename $0`
echo "QA output created by $seq"

# get standard environment, filters and checks
. ./common.product
. ./common.filter
. ./common.check

[ -f $PCP_PMDAS_DIR/pipe/pmdapipe ] || _notrun "pipe PMDA not installed"

status=1	# failure is the default!
username=`id -u -n`
groupname=`id -g -n`
trap "rm -f $tmp.*; exit \$status" 0 1 2 3 15

_log()
{
    echo $@ | tee -a $seq_full 
}

_filter()
{
    sed \
	-e "s,$tmp.config,CONFIG,g" \
	-e "s,$groupname,NAME,g" \
	-e "s,$username,NAME,g" \
    #end
}

_check_config()
{
    debug="appl0,appl1,appl2"
    $PCP_PMDAS_DIR/pipe/pmdapipe -C -c $tmp.config -D $debug >$tmp.log 2>&1
    sts=$?
    cat $tmp.log | tee -a $seq_full | _filter
    echo "sts=$sts" && echo
}

echo

_log "== checking instance name with special characters"
echo ';34@#bleurg  root        /bin/true' > $tmp.config
_check_config

_log "== checking missing user and command fields"
echo 'instance' > $tmp.config
_check_config

_log "== checking missing command field"
echo 'instance user ' > $tmp.config
_check_config

_log "== checking valid access control section"
echo 'instance user command and parameters' > $tmp.config
echo '[access]' >> $tmp.config
echo "allow user $username : instance" >> $tmp.config
echo "disallow user $username : instance" >> $tmp.config
echo "allow group $groupname : instance" >> $tmp.config
echo "disallow group $groupname : instance" >> $tmp.config
_check_config

# save a copy of goodness to append badness to
cp $tmp.config $tmp.valid

_log "== checking invalid access control line (no username)"
cp $tmp.valid $tmp.config
echo "allow user" >> $tmp.config
_check_config

_log "== checking invalid access control line (no separator)"
cp $tmp.valid $tmp.config
echo "allow group $groupname " >> $tmp.config
_check_config

_log "== checking invalid access control line (no instance)"
cp $tmp.valid $tmp.config
echo "allow group $groupname : " >> $tmp.config
_check_config

status=0
exit