]> andersk Git - openssh.git/blob - regress/sftp-cmds.sh
- [regress/sftp-cmds.sh] Ensure file used for test are readable.
[openssh.git] / regress / sftp-cmds.sh
1 #       $OpenBSD: sftp-cmds.sh,v 1.5 2003/07/19 00:46:31 djm Exp $
2 #       Placed in the Public Domain.
3
4 # XXX - TODO: 
5 # - chmod / chown / chgrp
6 # - -p flag for get & put
7
8 tid="sftp commands"
9
10 DATA=/bin/ls
11 COPY=${OBJ}/copy
12 # test that these files are readable!
13 for i in `(cd /bin;echo l*)`
14 do
15         if [ -r $i ]; then
16                 GLOBFILES="$GLOBFILES $i"
17         fi
18 done
19
20
21 # Path with embedded quote
22 QUOTECOPY=${COPY}".\"blah\""
23 QUOTECOPY_ARG=${COPY}'.\"blah\"'
24
25 rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd ${COPY}.dd2 ${BATCH}.*
26 mkdir ${COPY}.dd
27
28 verbose "$tid: lls"
29 echo "lls ${OBJ}" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
30         || fail "lls failed"
31 # XXX always successful
32
33 verbose "$tid: ls"
34 echo "ls ${OBJ}" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
35         || fail "ls failed"
36 # XXX always successful
37
38 verbose "$tid: shell"
39 echo "!echo hi there" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
40         || fail "shell failed"
41 # XXX always successful
42
43 verbose "$tid: pwd"
44 echo "pwd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
45         || fail "pwd failed"
46 # XXX always successful
47
48 verbose "$tid: lpwd"
49 echo "lpwd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
50         || fail "lpwd failed"
51 # XXX always successful
52
53 verbose "$tid: quit"
54 echo "quit" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
55         || fail "quit failed"
56 # XXX always successful
57
58 verbose "$tid: help"
59 echo "help" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
60         || fail "help failed"
61 # XXX always successful
62
63 rm -f ${COPY}
64 verbose "$tid: get"
65 echo "get $DATA $COPY" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
66         || fail "get failed"
67 cmp $DATA ${COPY} || fail "corrupted copy after get"
68
69 rm -f ${COPY}.dd/*
70 verbose "$tid: get to directory"
71 echo "get $DATA ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
72         || fail "get failed"
73 cmp $DATA ${COPY}.dd/ls || fail "corrupted copy after get"
74
75 rm -f ${COPY}.dd/*
76 verbose "$tid: glob get to directory"
77 echo "get /bin/l* ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
78         || fail "get failed"
79 for x in $GLOBFILES; do
80         cmp /bin/$x ${COPY}.dd/$x || fail "corrupted copy after get"
81 done
82
83 rm -f ${COPY}.dd/*
84 verbose "$tid: get to local dir"
85 echo "lcd ${COPY}.dd\nget $DATA" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
86         || fail "get failed"
87 cmp $DATA ${COPY}.dd/ls || fail "corrupted copy after get"
88
89 rm -f ${COPY}.dd/*
90 verbose "$tid: glob get to local dir"
91 echo "lcd ${COPY}.dd\nget /bin/l*" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
92         || fail "get failed"
93 for x in $GLOBFILES; do
94         cmp /bin/$x ${COPY}.dd/$x || fail "corrupted copy after get"
95 done
96
97 rm -f ${COPY}
98 verbose "$tid: put"
99 echo "put $DATA $COPY" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
100         || fail "put failed"
101 cmp $DATA ${COPY} || fail "corrupted copy after put"
102
103 rm -f ${QUOTECOPY}
104 verbose "$tid: put filename with quotes"
105 echo "put $DATA \"$QUOTECOPY_ARG\"" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
106         || fail "put failed"
107 cmp $DATA ${QUOTECOPY} || fail "corrupted copy after put with quotes"
108
109 rm -f ${COPY}.dd/*
110 verbose "$tid: put to directory"
111 echo "put $DATA ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
112         || fail "put failed"
113 cmp $DATA ${COPY}.dd/ls || fail "corrupted copy after put"
114
115 rm -f ${COPY}.dd/*
116 verbose "$tid: glob put to directory"
117 echo "put /bin/l* ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
118         || fail "put failed"
119 for x in $GLOBFILES; do
120         cmp /bin/$x ${COPY}.dd/$x || fail "corrupted copy after put"
121 done
122
123 rm -f ${COPY}.dd/*
124 verbose "$tid: put to local dir"
125 echo "cd ${COPY}.dd\nput $DATA" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
126         || fail "put failed"
127 cmp $DATA ${COPY}.dd/ls || fail "corrupted copy after put"
128
129 rm -f ${COPY}.dd/*
130 verbose "$tid: glob put to local dir"
131 echo "cd ${COPY}.dd\nput /bin/l*" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
132         || fail "put failed"
133 for x in $GLOBFILES; do
134         cmp /bin/$x ${COPY}.dd/$x || fail "corrupted copy after put"
135 done
136
137 verbose "$tid: rename"
138 echo "rename $COPY ${COPY}.1" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
139         || fail "rename failed"
140 test -f ${COPY}.1 || fail "missing file after rename"
141 cmp $DATA ${COPY}.1 >/dev/null 2>&1 || fail "corrupted copy after rename"
142
143 verbose "$tid: rename directory"
144 echo "rename ${COPY}.dd ${COPY}.dd2" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
145         || fail "rename directory failed"
146 test -d ${COPY}.dd && fail "oldname exists after rename directory"
147 test -d ${COPY}.dd2 || fail "missing newname after rename directory"
148
149 verbose "$tid: ln"
150 echo "ln ${COPY}.1 ${COPY}.2" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 || fail "ln failed"
151 test -L ${COPY}.2 || fail "missing file after ln"
152
153 verbose "$tid: mkdir"
154 echo "mkdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
155         || fail "mkdir failed"
156 test -d ${COPY}.dd || fail "missing directory after mkdir"
157
158 # XXX do more here
159 verbose "$tid: chdir"
160 echo "chdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
161         || fail "chdir failed"
162
163 verbose "$tid: rmdir"
164 echo "rmdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
165         || fail "rmdir failed"
166 test -d ${COPY}.1 && fail "present directory after rmdir"
167
168 verbose "$tid: lmkdir"
169 echo "lmkdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
170         || fail "lmkdir failed"
171 test -d ${COPY}.dd || fail "missing directory after lmkdir"
172
173 # XXX do more here
174 verbose "$tid: lchdir"
175 echo "lchdir ${COPY}.dd" | ${SFTP} -P ${SFTPSERVER} >/dev/null 2>&1 \
176         || fail "lchdir failed"
177
178 rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd ${COPY}.dd2 ${BATCH}.*
179
180
This page took 0.054535 seconds and 5 git commands to generate.