Blame


1 a5feed5f 2022-12-26 stsp #!/bin/sh
2 a5feed5f 2022-12-26 stsp #
3 a5feed5f 2022-12-26 stsp # Copyright (c) 2022 Mikhail Pchelin <misha@freebsd.org>
4 a5feed5f 2022-12-26 stsp #
5 a5feed5f 2022-12-26 stsp # Permission to use, copy, modify, and distribute this software for any
6 a5feed5f 2022-12-26 stsp # purpose with or without fee is hereby granted, provided that the above
7 a5feed5f 2022-12-26 stsp # copyright notice and this permission notice appear in all copies.
8 a5feed5f 2022-12-26 stsp #
9 a5feed5f 2022-12-26 stsp # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 a5feed5f 2022-12-26 stsp # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 a5feed5f 2022-12-26 stsp # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 a5feed5f 2022-12-26 stsp # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 a5feed5f 2022-12-26 stsp # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 a5feed5f 2022-12-26 stsp # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 a5feed5f 2022-12-26 stsp # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 a5feed5f 2022-12-26 stsp
17 a5feed5f 2022-12-26 stsp . ../cmdline/common.sh
18 a5feed5f 2022-12-26 stsp . ./common.sh
19 a5feed5f 2022-12-26 stsp
20 9bd4acdb 2022-12-27 op dummy_commit="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
21 9bd4acdb 2022-12-27 op
22 a5feed5f 2022-12-26 stsp # Non-existent commit
23 a5feed5f 2022-12-26 stsp test_request_bad_commit() {
24 a5feed5f 2022-12-26 stsp local testroot=`test_init request_bad_commit`
25 a5feed5f 2022-12-26 stsp
26 9bd4acdb 2022-12-27 op echo "0054want $dummy_commit multi_ack side-band-64k ofs-delta" \
27 9bd4acdb 2022-12-27 op | ssh ${GOTD_DEVUSER}@127.0.0.1 git-upload-pack '/test-repo' \
28 9bd4acdb 2022-12-27 op > $testroot/stdout 2>$testroot/stderr
29 a5feed5f 2022-12-26 stsp
30 27b8b865 2024-05-06 stsp # Replace embedded NUL from Git protocol with \n and then strip
31 27b8b865 2024-05-06 stsp # off the initial capabilities advertisement header.
32 27b8b865 2024-05-06 stsp tr '\0' '\n' < $testroot/stdout | tail -n 1 > $testroot/stdout.filtered
33 27b8b865 2024-05-06 stsp
34 27b8b865 2024-05-06 stsp echo -n " agent=got/${GOT_VERSION_STR} ofs-delta side-band-64k0000" \
35 9bd4acdb 2022-12-27 op > $testroot/stdout.expected
36 27b8b865 2024-05-06 stsp echo -n "0041ERR object $dummy_commit not found" \
37 27b8b865 2024-05-06 stsp >> $testroot/stdout.expected
38 a5feed5f 2022-12-26 stsp
39 9bd4acdb 2022-12-27 op echo "gotsh: object $dummy_commit not found" \
40 9bd4acdb 2022-12-27 op > $testroot/stderr.expected
41 a5feed5f 2022-12-26 stsp
42 27b8b865 2024-05-06 stsp cmp -s $testroot/stdout.expected $testroot/stdout.filtered
43 a5feed5f 2022-12-26 stsp ret=$?
44 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
45 a5feed5f 2022-12-26 stsp echo "unexpected stdout" >&2
46 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
47 a5feed5f 2022-12-26 stsp return 1
48 a5feed5f 2022-12-26 stsp fi
49 a5feed5f 2022-12-26 stsp
50 9bd4acdb 2022-12-27 op cmp -s $testroot/stderr.expected $testroot/stderr
51 a5feed5f 2022-12-26 stsp ret=$?
52 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
53 a5feed5f 2022-12-26 stsp echo "unexpected stderr" >&2
54 9bd4acdb 2022-12-27 op diff -u $testroot/stderr.expected $testroot/stderr
55 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
56 a5feed5f 2022-12-26 stsp return 1
57 a5feed5f 2022-12-26 stsp fi
58 a5feed5f 2022-12-26 stsp test_done "$testroot" "$ret"
59 a5feed5f 2022-12-26 stsp }
60 a5feed5f 2022-12-26 stsp
61 a5feed5f 2022-12-26 stsp # Zero pkt-len (as flush packet with payload)
62 a5feed5f 2022-12-26 stsp test_request_bad_length_zero() {
63 c69a515c 2024-05-06 stsp local testroot=`test_init request_bad_length_zero`
64 a5feed5f 2022-12-26 stsp
65 9bd4acdb 2022-12-27 op echo "0000want $dummy_commit multi_ack side-band-64k ofs-delta" \
66 9bd4acdb 2022-12-27 op | ssh ${GOTD_DEVUSER}@127.0.0.1 git-upload-pack '/test-repo' \
67 9bd4acdb 2022-12-27 op > $testroot/stdout 2>$testroot/stderr
68 a5feed5f 2022-12-26 stsp
69 27b8b865 2024-05-06 stsp tr '\0' '\n' < $testroot/stdout | tail -n 1 > $testroot/stdout.filtered
70 27b8b865 2024-05-06 stsp
71 27b8b865 2024-05-06 stsp echo -n " agent=got/${GOT_VERSION_STR} ofs-delta side-band-64k0000" \
72 a5feed5f 2022-12-26 stsp > $testroot/stdout.expected
73 27b8b865 2024-05-06 stsp echo -n "0028ERR unexpected flush packet received" \
74 27b8b865 2024-05-06 stsp >> $testroot/stdout.expected
75 a5feed5f 2022-12-26 stsp
76 a5feed5f 2022-12-26 stsp echo "gotsh: unexpected flush packet received" \
77 a5feed5f 2022-12-26 stsp > $testroot/stderr.expected
78 a5feed5f 2022-12-26 stsp
79 27b8b865 2024-05-06 stsp cmp -s $testroot/stdout.expected $testroot/stdout.filtered
80 a5feed5f 2022-12-26 stsp ret=$?
81 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
82 a5feed5f 2022-12-26 stsp echo "unexpected stdout" >&2
83 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
84 a5feed5f 2022-12-26 stsp return 1
85 a5feed5f 2022-12-26 stsp fi
86 a5feed5f 2022-12-26 stsp
87 a5feed5f 2022-12-26 stsp cmp -s $testroot/stderr $testroot/stderr.expected
88 a5feed5f 2022-12-26 stsp ret=$?
89 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
90 a5feed5f 2022-12-26 stsp echo "unexpected stderr" >&2
91 9bd4acdb 2022-12-27 op diff -u $testroot/stderr.expected $testroot/stderr
92 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
93 a5feed5f 2022-12-26 stsp return 1
94 a5feed5f 2022-12-26 stsp fi
95 a5feed5f 2022-12-26 stsp test_done "$testroot" "$ret"
96 a5feed5f 2022-12-26 stsp }
97 a5feed5f 2022-12-26 stsp
98 a5feed5f 2022-12-26 stsp # 0004 (empty)
99 a5feed5f 2022-12-26 stsp test_request_bad_length_empty() {
100 c69a515c 2024-05-06 stsp local testroot=`test_init request_bad_length_empty`
101 a5feed5f 2022-12-26 stsp
102 9bd4acdb 2022-12-27 op echo "0004want $dummy_commit multi_ack side-band-64k ofs-delta" \
103 9bd4acdb 2022-12-27 op | ssh ${GOTD_DEVUSER}@127.0.0.1 git-upload-pack '/test-repo' \
104 9bd4acdb 2022-12-27 op > $testroot/stdout 2>$testroot/stderr
105 a5feed5f 2022-12-26 stsp
106 27b8b865 2024-05-06 stsp tr '\0' '\n' < $testroot/stdout | tail -n 1 > $testroot/stdout.filtered
107 27b8b865 2024-05-06 stsp
108 27b8b865 2024-05-06 stsp echo -n " agent=got/${GOT_VERSION_STR} ofs-delta side-band-64k0000" \
109 a5feed5f 2022-12-26 stsp > $testroot/stdout.expected
110 27b8b865 2024-05-06 stsp echo -n '0018ERR packet too short' >> $testroot/stdout.expected
111 a5feed5f 2022-12-26 stsp
112 96afb0d6 2023-01-21 stsp echo "gotsh: packet too short" > $testroot/stderr.expected
113 a5feed5f 2022-12-26 stsp
114 27b8b865 2024-05-06 stsp cmp -s $testroot/stdout.expected $testroot/stdout.filtered
115 a5feed5f 2022-12-26 stsp ret=$?
116 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
117 a5feed5f 2022-12-26 stsp echo "unexpected stdout" >&2
118 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
119 a5feed5f 2022-12-26 stsp return 1
120 a5feed5f 2022-12-26 stsp fi
121 a5feed5f 2022-12-26 stsp
122 9bd4acdb 2022-12-27 op cmp -s $testroot/stderr.expected $testroot/stderr
123 a5feed5f 2022-12-26 stsp ret=$?
124 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
125 a5feed5f 2022-12-26 stsp echo "unexpected stderr" >&2
126 9bd4acdb 2022-12-27 op diff -u $testroot/stderr.expected $testroot/stderr
127 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
128 a5feed5f 2022-12-26 stsp return 1
129 a5feed5f 2022-12-26 stsp fi
130 a5feed5f 2022-12-26 stsp test_done "$testroot" "$ret"
131 a5feed5f 2022-12-26 stsp }
132 a5feed5f 2022-12-26 stsp
133 a5feed5f 2022-12-26 stsp # Pkt-len too small
134 a5feed5f 2022-12-26 stsp test_request_bad_length_small() {
135 c69a515c 2024-05-06 stsp local testroot=`test_init request_bad_length_small`
136 a5feed5f 2022-12-26 stsp
137 9bd4acdb 2022-12-27 op echo "0002want $dummy_commit multi_ack side-band-64k ofs-delta" \
138 9bd4acdb 2022-12-27 op | ssh ${GOTD_DEVUSER}@127.0.0.1 git-upload-pack '/test-repo' \
139 9bd4acdb 2022-12-27 op > $testroot/stdout 2>$testroot/stderr
140 a5feed5f 2022-12-26 stsp
141 27b8b865 2024-05-06 stsp tr '\0' '\n' < $testroot/stdout | tail -n 1 > $testroot/stdout.filtered
142 27b8b865 2024-05-06 stsp
143 27b8b865 2024-05-06 stsp echo -n " agent=got/${GOT_VERSION_STR} ofs-delta side-band-64k0000" \
144 a5feed5f 2022-12-26 stsp > $testroot/stdout.expected
145 27b8b865 2024-05-06 stsp echo -n '0018ERR packet too short' >> $testroot/stdout.expected
146 a5feed5f 2022-12-26 stsp
147 96afb0d6 2023-01-21 stsp echo "gotsh: packet too short" > $testroot/stderr.expected
148 a5feed5f 2022-12-26 stsp
149 27b8b865 2024-05-06 stsp cmp -s $testroot/stdout.expected $testroot/stdout.filtered
150 a5feed5f 2022-12-26 stsp ret=$?
151 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
152 a5feed5f 2022-12-26 stsp echo "unexpected stdout" >&2
153 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
154 a5feed5f 2022-12-26 stsp return 1
155 a5feed5f 2022-12-26 stsp fi
156 a5feed5f 2022-12-26 stsp
157 9bd4acdb 2022-12-27 op cmp -s $testroot/stderr.expected $testroot/stderr
158 a5feed5f 2022-12-26 stsp ret=$?
159 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
160 a5feed5f 2022-12-26 stsp echo "unexpected stderr" >&2
161 9bd4acdb 2022-12-27 op diff -u $testroot/stderr.expected $testroot/stderr
162 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
163 a5feed5f 2022-12-26 stsp return 1
164 a5feed5f 2022-12-26 stsp fi
165 a5feed5f 2022-12-26 stsp test_done "$testroot" "$ret"
166 a5feed5f 2022-12-26 stsp }
167 9bd4acdb 2022-12-27 op
168 a5feed5f 2022-12-26 stsp # Pkt-len too large
169 a5feed5f 2022-12-26 stsp test_request_bad_length_large() {
170 c69a515c 2024-05-06 stsp local testroot=`test_init request_bad_length_large`
171 a5feed5f 2022-12-26 stsp
172 9bd4acdb 2022-12-27 op echo "ffffwant $dummy_commit multi_ack side-band-64k ofs-delta" \
173 9bd4acdb 2022-12-27 op | ssh ${GOTD_DEVUSER}@127.0.0.1 git-upload-pack '/test-repo' \
174 9bd4acdb 2022-12-27 op > $testroot/stdout 2>$testroot/stderr
175 a5feed5f 2022-12-26 stsp
176 27b8b865 2024-05-06 stsp tr '\0' '\n' < $testroot/stdout | tail -n 1 > $testroot/stdout.filtered
177 27b8b865 2024-05-06 stsp
178 27b8b865 2024-05-06 stsp echo -n " agent=got/${GOT_VERSION_STR} ofs-delta side-band-64k0000" \
179 a5feed5f 2022-12-26 stsp > $testroot/stdout.expected
180 27b8b865 2024-05-06 stsp echo -n '001eERR unexpected end of file' \
181 96afb0d6 2023-01-21 stsp >> $testroot/stdout.expected
182 a5feed5f 2022-12-26 stsp
183 96afb0d6 2023-01-21 stsp echo "gotsh: unexpected end of file" > $testroot/stderr.expected
184 a5feed5f 2022-12-26 stsp
185 27b8b865 2024-05-06 stsp cmp -s $testroot/stdout.expected $testroot/stdout.filtered
186 a5feed5f 2022-12-26 stsp ret=$?
187 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
188 a5feed5f 2022-12-26 stsp echo "unexpected stdout" >&2
189 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
190 a5feed5f 2022-12-26 stsp return 1
191 a5feed5f 2022-12-26 stsp fi
192 a5feed5f 2022-12-26 stsp
193 9bd4acdb 2022-12-27 op cmp -s $testroot/stderr.expected $testroot/stderr
194 a5feed5f 2022-12-26 stsp ret=$?
195 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
196 a5feed5f 2022-12-26 stsp echo "unexpected stderr" >&2
197 9bd4acdb 2022-12-27 op diff -u $testroot/stderr.expected $testroot/stderr
198 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
199 a5feed5f 2022-12-26 stsp return 1
200 a5feed5f 2022-12-26 stsp fi
201 a5feed5f 2022-12-26 stsp test_done "$testroot" "$ret"
202 a5feed5f 2022-12-26 stsp }
203 a5feed5f 2022-12-26 stsp
204 a5feed5f 2022-12-26 stsp # Unknown feature
205 a5feed5f 2022-12-26 stsp test_request_bad_capabilities() {
206 c69a515c 2024-05-06 stsp local testroot=`test_init request_bad_capabilities`
207 a5feed5f 2022-12-26 stsp
208 9bd4acdb 2022-12-27 op echo "0054want $dummy_commit aaaaaaaaa bbbbbbbbbbbbb ccccccccc" \
209 9bd4acdb 2022-12-27 op | ssh ${GOTD_DEVUSER}@127.0.0.1 git-upload-pack '/test-repo' \
210 9bd4acdb 2022-12-27 op > $testroot/stdout 2>$testroot/stderr
211 a5feed5f 2022-12-26 stsp
212 27b8b865 2024-05-06 stsp tr '\0' '\n' < $testroot/stdout | tail -n 1 > $testroot/stdout.filtered
213 27b8b865 2024-05-06 stsp
214 27b8b865 2024-05-06 stsp echo -n " agent=got/${GOT_VERSION_STR} ofs-delta side-band-64k0000" \
215 a5feed5f 2022-12-26 stsp > $testroot/stdout.expected
216 27b8b865 2024-05-06 stsp echo -n "0025ERR unexpected want-line received" \
217 27b8b865 2024-05-06 stsp >> $testroot/stdout.expected
218 a5feed5f 2022-12-26 stsp
219 a5feed5f 2022-12-26 stsp echo "gotsh: unexpected want-line received" > $testroot/stderr.expected
220 a5feed5f 2022-12-26 stsp
221 27b8b865 2024-05-06 stsp cmp -s $testroot/stdout.expected $testroot/stdout.filtered
222 a5feed5f 2022-12-26 stsp ret=$?
223 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
224 a5feed5f 2022-12-26 stsp echo "unexpected stdout" >&2
225 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
226 a5feed5f 2022-12-26 stsp return 1
227 a5feed5f 2022-12-26 stsp fi
228 a5feed5f 2022-12-26 stsp
229 9bd4acdb 2022-12-27 op cmp -s $testroot/stderr.expected $testroot/stderr
230 a5feed5f 2022-12-26 stsp ret=$?
231 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
232 a5feed5f 2022-12-26 stsp echo "unexpected stderr" >&2
233 9bd4acdb 2022-12-27 op diff -u $testroot/stderr.expected $testroot/stderr
234 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
235 a5feed5f 2022-12-26 stsp return 1
236 a5feed5f 2022-12-26 stsp fi
237 a5feed5f 2022-12-26 stsp test_done "$testroot" "$ret"
238 a5feed5f 2022-12-26 stsp }
239 a5feed5f 2022-12-26 stsp
240 a5feed5f 2022-12-26 stsp # Unknown repository
241 a5feed5f 2022-12-26 stsp test_request_bad_repository() {
242 c69a515c 2024-05-06 stsp local testroot=`test_init request_bad_repository`
243 a5feed5f 2022-12-26 stsp
244 9bd4acdb 2022-12-27 op echo "0054want $dummy_commit aaaaaaaaa bbbbbbbbbbbbb ccccccccc" \
245 9bd4acdb 2022-12-27 op | ssh ${GOTD_DEVUSER}@127.0.0.1 git-upload-pack '/XXXX-XXXX' \
246 9bd4acdb 2022-12-27 op > $testroot/stdout 2>$testroot/stderr
247 a5feed5f 2022-12-26 stsp
248 a5feed5f 2022-12-26 stsp echo -n "001fERR no git repository found" > $testroot/stdout.expected
249 a5feed5f 2022-12-26 stsp
250 a5feed5f 2022-12-26 stsp echo "gotsh: no git repository found" > $testroot/stderr.expected
251 a5feed5f 2022-12-26 stsp
252 9bd4acdb 2022-12-27 op cmp -s $testroot/stdout.expected $testroot/stdout
253 a5feed5f 2022-12-26 stsp ret=$?
254 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
255 a5feed5f 2022-12-26 stsp echo "unexpected stdout" >&2
256 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
257 a5feed5f 2022-12-26 stsp return 1
258 a5feed5f 2022-12-26 stsp fi
259 a5feed5f 2022-12-26 stsp
260 9bd4acdb 2022-12-27 op cmp -s $testroot/stderr.expected $testroot/stderr
261 a5feed5f 2022-12-26 stsp ret=$?
262 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
263 a5feed5f 2022-12-26 stsp echo "unexpected stderr" >&2
264 9bd4acdb 2022-12-27 op diff -u $testroot/stderr.expected $testroot/stderr
265 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
266 a5feed5f 2022-12-26 stsp return 1
267 a5feed5f 2022-12-26 stsp fi
268 a5feed5f 2022-12-26 stsp test_done "$testroot" "$ret"
269 a5feed5f 2022-12-26 stsp
270 a5feed5f 2022-12-26 stsp }
271 a5feed5f 2022-12-26 stsp
272 a5feed5f 2022-12-26 stsp # Repository with name of 255 symbols
273 a5feed5f 2022-12-26 stsp test_request_bad_large_repo_name() {
274 c69a515c 2024-05-06 stsp local testroot=`test_init request_bad_large_repo_name`
275 a5feed5f 2022-12-26 stsp
276 9bd4acdb 2022-12-27 op # build a string of 255 "A": 63 "A" four times plus tree more "A"
277 9bd4acdb 2022-12-27 op local a=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
278 9bd4acdb 2022-12-27 op local repo_name="AAA$a$a$a$a"
279 a5feed5f 2022-12-26 stsp
280 9bd4acdb 2022-12-27 op echo "0054want $dummy_commit aaaaaaaaa bbbbbbbbbbbbb ccccccccc" \
281 9bd4acdb 2022-12-27 op | ssh ${GOTD_DEVUSER}@127.0.0.1 git-upload-pack "/$repo_name" \
282 9bd4acdb 2022-12-27 op > $testroot/stdout 2>$testroot/stderr
283 9bd4acdb 2022-12-27 op
284 a5feed5f 2022-12-26 stsp echo -n "0018ERR buffer too small" > $testroot/stdout.expected
285 a5feed5f 2022-12-26 stsp
286 a5feed5f 2022-12-26 stsp echo "gotsh: buffer too small" > $testroot/stderr.expected
287 a5feed5f 2022-12-26 stsp
288 9bd4acdb 2022-12-27 op cmp -s $testroot/stdout.expected $testroot/stdout
289 a5feed5f 2022-12-26 stsp ret=$?
290 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
291 a5feed5f 2022-12-26 stsp echo "unexpected stdout" >&2
292 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
293 a5feed5f 2022-12-26 stsp return 1
294 a5feed5f 2022-12-26 stsp fi
295 a5feed5f 2022-12-26 stsp
296 9bd4acdb 2022-12-27 op cmp -s $testroot/stderr.expected $testroot/stderr
297 a5feed5f 2022-12-26 stsp ret=$?
298 a5feed5f 2022-12-26 stsp if [ $ret -ne 0 ]; then
299 a5feed5f 2022-12-26 stsp echo "unexpected stderr" >&2
300 9bd4acdb 2022-12-27 op diff -u $testroot/stderr.expected $testroot/stderr
301 a5feed5f 2022-12-26 stsp test_done "$testroot" "1"
302 a5feed5f 2022-12-26 stsp return 1
303 a5feed5f 2022-12-26 stsp fi
304 a5feed5f 2022-12-26 stsp test_done "$testroot" "$ret"
305 a5feed5f 2022-12-26 stsp }
306 87724ba0 2023-01-22 op
307 87724ba0 2023-01-22 op test_request_bad_no_repo() {
308 c69a515c 2024-05-06 stsp local testroot=`test_init request_bad_no_repo`
309 9bd4acdb 2022-12-27 op
310 87724ba0 2023-01-22 op for i in `seq 10`; do
311 87724ba0 2023-01-22 op ssh ${GOTD_DEVUSER}@127.0.0.1 git-upload-pack \
312 87724ba0 2023-01-22 op >/dev/null 2>/dev/null </dev/null
313 87724ba0 2023-01-22 op done
314 87724ba0 2023-01-22 op
315 87724ba0 2023-01-22 op # should still be able to clone; the repo is empty however
316 87724ba0 2023-01-22 op got clone -q ${GOTD_TEST_REPO_URL} $testroot/repo-clone \
317 87724ba0 2023-01-22 op 2> $testroot/stderr
318 87724ba0 2023-01-22 op cat <<EOF > $testroot/stderr.expected
319 87724ba0 2023-01-22 op got-fetch-pack: could not find any branches to fetch
320 87724ba0 2023-01-22 op got: could not find any branches to fetch
321 87724ba0 2023-01-22 op EOF
322 87724ba0 2023-01-22 op
323 87724ba0 2023-01-22 op if ! cmp -s "$testroot/stderr.expected" "$testroot/stderr"; then
324 87724ba0 2023-01-22 op echo "got clone failed for unexpected reason" >&2
325 87724ba0 2023-01-22 op diff -u "$testroot/stderr.expected" "$testroot/stderr"
326 87724ba0 2023-01-22 op test_done "$testroot" 1
327 87724ba0 2023-01-22 op return
328 87724ba0 2023-01-22 op fi
329 87724ba0 2023-01-22 op
330 87724ba0 2023-01-22 op test_done "$testroot" 0
331 87724ba0 2023-01-22 op }
332 87724ba0 2023-01-22 op
333 a5feed5f 2022-12-26 stsp test_parseargs "$@"
334 a5feed5f 2022-12-26 stsp run_test test_request_bad_commit
335 a5feed5f 2022-12-26 stsp run_test test_request_bad_length_zero
336 a5feed5f 2022-12-26 stsp run_test test_request_bad_length_empty
337 a5feed5f 2022-12-26 stsp run_test test_request_bad_length_small
338 a5feed5f 2022-12-26 stsp run_test test_request_bad_length_large
339 a5feed5f 2022-12-26 stsp run_test test_request_bad_capabilities
340 a5feed5f 2022-12-26 stsp run_test test_request_bad_repository
341 a5feed5f 2022-12-26 stsp run_test test_request_bad_large_repo_name
342 87724ba0 2023-01-22 op run_test test_request_bad_no_repo