File: 1094

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 (93 lines) | stat: -rwxr-xr-x 3,209 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
89
90
91
92
93
#!/bin/sh
# PCP QA Test No. 1094
# Exercise _do_dir_and_arg() (for scripts run from cron)
#
# Copyright (c) 2015 Ken McDonell.  All Rights Reserved.
#

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!
trap "cd $here; rm -rf $tmp.*; exit \$status" 0 1 2 3 15

[ -f $PCP_SHARE_DIR/lib/utilproc.sh ] || _notrun "utilproc.sh not installed"
# _do_dir_and_args is hidden here ...
#
. $PCP_SHARE_DIR/lib/utilproc.sh

# secret debugging flag
#
debug_do_dir_and_args=true

_error()
{
    echo "[<stdin>:$line]"
    echo "Error: $@"
}

_filter()
{
    sed \
	-e "s/$(hostname)/HOSTNAME/g" \
	-e "s@$tmp@TMP@g" \
    # end
}

# real QA test starts here

# don't use date +%Y ... so test will not fail next year!
year=`date +2015`; export year
mydir=/some/path; export mydir
line=1

cat <<End-of-File | while read stuff dir args
preamble\$(blah)\`foo\`\$bar /some/path -c someconfig
preamble\$(blah)\`foo\`\$bar \${mydir}/xyz -c someconfig
preamble\$(blah)\`foo\`\$bar /xyz\${mydir} -c someconfig
preamble\$(blah)\`foo\`\$bar /xyz\$mydir -c someconfig
preamble\$(blah)\`foo\`\$bar \$(echo /some/path) -c someconfig
preamble\$(blah)\`foo\`\$bar \$( echo /some/path ) -c someconfig
preamble\$(blah)\`foo\`\$bar "/some/path/\$(date +2015)" -c someconfig
preamble\$(blah)\`foo\`\$bar '/some/path/\$(date +2015)' -c someconfig
preamble\$(blah)\`foo\`\$bar " /some/path/\$(date +2015) " -c someconfig
preamble\$(blah)\`foo\`\$bar ' /some/path/\$(date +2015) ' -c someconfig
preamble\$(blah)\`foo\`\$bar \`echo /some/path\` -c someconfig
preamble\$(blah)\`foo\`\$bar \` echo /some/path \` -c someconfig
preamble\$(blah)\`foo\`\$bar "/some/path/\`date +2015\`" -c someconfig
preamble\$(blah)\`foo\`\$bar '/some/path/\`date +2015\`' -c someconfig
preamble\$(blah)\`foo\`\$bar \$(bad command -c someconfig
preamble\$(blah)\`foo\`\$bar \`bad command -c someconfig
preamble\$(blah)\`foo\`\$bar "bad string -c someconfig
preamble\$(blah)\`foo\`\$bar 'bad string -c someconfig
preamble\$(blah)\`foo\`\$bar "embedded_backquote\`date +2015\`.postfix" -c someconfig
preamble\$(blah)\`foo\`\$bar 'embedded_backquote\`date +2015\`.postfix' -c someconfig
preamble\$(blah)\`foo\`\$bar bad_embedded_backquote\`date +2015\`.postfix -c someconfig
preamble\$(blah)\`foo\`\$bar "embedded_cmd\$(date +2015).postfix" -c someconfig
preamble\$(blah)\`foo\`\$bar 'embedded_cmd\$(date +2015).postfix' -c someconfig
preamble\$(blah)\`foo\`\$bar bad_embedded_cmd\$(date +2015).postfix -c someconfig
preamble\$(blah)\`foo\`\$bar \$(hostname) -c someconfig
preamble\$(blah)\`foo\`\$bar foo-\$(hostname)-bar -c someconfig
preamble\$(blah)\`foo\`\$bar \`hostname\` -c someconfig
preamble\$(blah)\`foo\`\$bar foo-\`hostname\`-bar -c someconfig
# from 793
LOCALHOSTNAME   '\$(echo $tmp/B)' --pmlc-ipc-version=2 -c $tmp.config -l $tmp.B.log -Dservices,appl3,appl4
End-of-File
do
    echo
    echo "input \$dir |$dir| \$args |$args|" | _filter
    _do_dir_and_args >$tmp.tmp
    _filter <$tmp.tmp
    echo "processed \$dir |$dir| \$args |$args|" | _filter
    line=`expr $line + 1`
done

# success, all done
status=0

exit