Annotation of embedaddon/lrzsz/testsuite/lrzsz/command.exp, revision 1.1.1.1
1.1 misho 1: load_lib "lrzsz.exp"
2: if $tracelevel then {
3: strace $tracelevel
4: }
5:
6: # i would really like to throw that code out of zmodem ...
7: # but then again: somebody might need it, and it's disabled by default.
8: # so check first: is it _really_ disabled?
9:
10: #puts RES=[getenv ZMODEM_RESTRICTED]
11: if {[string compare [getenv ZMODEM_RESTRICTED] ""] != 0} {
12: unsetenv ZMODEM_RESTRICTED
13: }
14:
15: proc runcommand { name sz szopts rz rzopts expect_fail} {
16: global MYTEMP
17: global testdir
18: set magic XXXYYYZZZ
19: verbose "Testing $name" 1
20: catch "exec rm -f $testdir/command_tmp"
21: set fails [runthem_internal "$name" "$sz" "$szopts" "$rz" "$rzopts" \
22: "\\\"echo $magic \\>$testdir/command_tmp\\\"" "mkdir,rmdir" dummy]
23: if {[file exists $testdir/command_tmp] == 0} {
24: set fails 1;
25: }
26: if {$fails == 0} {
27: catch "set dummy [grep $testdir/command_tmp $magic]"
28: if [string compare $magic $dummy] {
29: incr fails
30: send_log "grep fetch not $magic\n";
31: }
32: } else {
33: send_log "call failed\n";
34: }
35: if [string compare $expect_fail "OK"] {
36: if {$fails > 0} {
37: set fails 0;
38: } else {
39: set fails 1;
40: }
41: }
42: if {$fails == 0} {
43: pass "$name"
44: } else {
45: fail "$name"
46: }
47: }
48:
49: runcommand command-disabled $objdir/../src/lsz "-q -c" \
50: "$objdir/../src/lrz" "" FAIL
51: runcommand command-enabled-restricted $objdir/../src/lsz "-q -c" \
52: "$objdir/../src/lrz" "-C" FAIL
53: runcommand command-enabled-unrestricted $objdir/../src/lsz "-q -c" \
54: "$objdir/../src/lrz" "--unrestrict --allow-commands" OK
55: # same for -i
56: runcommand i-command-disabled $objdir/../src/lsz "-q -i" \
57: "$objdir/../src/lrz" "" FAIL
58: runcommand i-command-enabled-restricted $objdir/../src/lsz "-q -i" \
59: "$objdir/../src/lrz" "-C" FAIL
60: runcommand i-command-enabled-unrestricted $objdir/../src/lsz "-q -i" \
61: "$objdir/../src/lrz" "--unrestrict --allow-commands" OK
62:
63: # basic tests done
64:
65: #set and unset ZMODEM_RESTRICTED. Should work.
66: runcommand command-restricted-by-env "$objdir/../src/lsz" "-q -c" \
67: "env ZMODEM_RESTRICTED=1 sh -c '$objdir/../src/lrz -qUC'" "" OK
68: # "strace -vfs 128 -o /tmp/o2 env ZMODEM_RESTRICTED=1 sh -c \"$objdir/../src/lrz -qUC\"" "" OK
69: # must not work.
70: runcommand command-rbash-receiver "$objdir/../src/lsz" "-q -c" \
71: "env SHELL=rbash sh -c '$objdir/../src/lrz -qUC'" "" FAIL
72: # must not work.
73: runcommand command-rbash-sender "env SHELL=rbash sh -c '$objdir/../src/lsz -qc'" "" \
74: "$objdir/../src/lrz" "-qUC" FAIL
75:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>