Blame


1 6dbf1e9e 2019-03-26 stsp #!/bin/sh
2 6dbf1e9e 2019-03-26 stsp #
3 6dbf1e9e 2019-03-26 stsp # Copyright (c) 2019 Stefan Sperling <stsp@openbsd.org>
4 6dbf1e9e 2019-03-26 stsp #
5 6dbf1e9e 2019-03-26 stsp # Permission to use, copy, modify, and distribute this software for any
6 6dbf1e9e 2019-03-26 stsp # purpose with or without fee is hereby granted, provided that the above
7 6dbf1e9e 2019-03-26 stsp # copyright notice and this permission notice appear in all copies.
8 6dbf1e9e 2019-03-26 stsp #
9 6dbf1e9e 2019-03-26 stsp # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 6dbf1e9e 2019-03-26 stsp # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 6dbf1e9e 2019-03-26 stsp # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 6dbf1e9e 2019-03-26 stsp # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 6dbf1e9e 2019-03-26 stsp # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 6dbf1e9e 2019-03-26 stsp # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 6dbf1e9e 2019-03-26 stsp # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 6dbf1e9e 2019-03-26 stsp
17 6dbf1e9e 2019-03-26 stsp . ./common.sh
18 6dbf1e9e 2019-03-26 stsp
19 f6cae3ed 2020-09-13 naddy test_add_basic() {
20 6dbf1e9e 2019-03-26 stsp local testroot=`test_init add_basic`
21 6dbf1e9e 2019-03-26 stsp
22 6dbf1e9e 2019-03-26 stsp got checkout $testroot/repo $testroot/wt > /dev/null
23 49c543a6 2022-03-31 naddy ret=$?
24 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
25 6dbf1e9e 2019-03-26 stsp test_done "$testroot" "$ret"
26 6dbf1e9e 2019-03-26 stsp return 1
27 6dbf1e9e 2019-03-26 stsp fi
28 6dbf1e9e 2019-03-26 stsp
29 6dbf1e9e 2019-03-26 stsp echo "new file" > $testroot/wt/foo
30 6dbf1e9e 2019-03-26 stsp
31 6dbf1e9e 2019-03-26 stsp echo 'A foo' > $testroot/stdout.expected
32 6dbf1e9e 2019-03-26 stsp (cd $testroot/wt && got add foo > $testroot/stdout)
33 6dbf1e9e 2019-03-26 stsp
34 8d301dd9 2019-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
35 49c543a6 2022-03-31 naddy ret=$?
36 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
37 6dbf1e9e 2019-03-26 stsp diff -u $testroot/stdout.expected $testroot/stdout
38 6dbf1e9e 2019-03-26 stsp fi
39 6dbf1e9e 2019-03-26 stsp test_done "$testroot" "$ret"
40 6dbf1e9e 2019-03-26 stsp }
41 6dbf1e9e 2019-03-26 stsp
42 f6cae3ed 2020-09-13 naddy test_double_add() {
43 5c99ca9f 2019-03-27 stsp local testroot=`test_init double_add`
44 5c99ca9f 2019-03-27 stsp
45 5c99ca9f 2019-03-27 stsp got checkout $testroot/repo $testroot/wt > /dev/null
46 49c543a6 2022-03-31 naddy ret=$?
47 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
48 5c99ca9f 2019-03-27 stsp test_done "$testroot" "$ret"
49 5c99ca9f 2019-03-27 stsp return 1
50 5c99ca9f 2019-03-27 stsp fi
51 5c99ca9f 2019-03-27 stsp
52 5c99ca9f 2019-03-27 stsp echo "new file" > $testroot/wt/foo
53 5c99ca9f 2019-03-27 stsp (cd $testroot/wt && got add foo > /dev/null)
54 5c99ca9f 2019-03-27 stsp
55 dbb83fbd 2019-12-12 stsp (cd $testroot/wt && got add foo > $testroot/stdout)
56 49c543a6 2022-03-31 naddy ret=$?
57 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
58 723c305c 2019-05-11 jcs echo "got add failed unexpectedly" >&2
59 5c99ca9f 2019-03-27 stsp test_done "$testroot" 1
60 a7c182ac 2019-03-27 stsp return 1
61 5c99ca9f 2019-03-27 stsp fi
62 5c99ca9f 2019-03-27 stsp
63 dbb83fbd 2019-12-12 stsp echo -n > $testroot/stdout.expected
64 9fc9df27 2023-06-20 stsp cmp -s $testroot/stdout.expected $testroot/stdout
65 9fc9df27 2023-06-20 stsp ret=$?
66 9fc9df27 2023-06-20 stsp if [ $ret -ne 0 ]; then
67 9fc9df27 2023-06-20 stsp diff -u $testroot/stdout.expected $testroot/stdout
68 9fc9df27 2023-06-20 stsp test_done "$testroot" "$ret"
69 9fc9df27 2023-06-20 stsp return 1
70 9fc9df27 2023-06-20 stsp fi
71 9fc9df27 2023-06-20 stsp
72 9fc9df27 2023-06-20 stsp echo "new file" > $testroot/wt/epsilon/zeta2
73 9fc9df27 2023-06-20 stsp (cd $testroot/wt && got add epsilon/zeta* > $testroot/stdout)
74 9fc9df27 2023-06-20 stsp ret=$?
75 9fc9df27 2023-06-20 stsp if [ $ret -ne 0 ]; then
76 9fc9df27 2023-06-20 stsp echo "got add failed unexpectedly" >&2
77 9fc9df27 2023-06-20 stsp test_done "$testroot" 1
78 9fc9df27 2023-06-20 stsp return 1
79 9fc9df27 2023-06-20 stsp fi
80 9fc9df27 2023-06-20 stsp
81 9fc9df27 2023-06-20 stsp echo 'A epsilon/zeta2' > $testroot/stdout.expected
82 dbb83fbd 2019-12-12 stsp cmp -s $testroot/stdout.expected $testroot/stdout
83 49c543a6 2022-03-31 naddy ret=$?
84 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
85 dbb83fbd 2019-12-12 stsp diff -u $testroot/stdout.expected $testroot/stdout
86 dbb83fbd 2019-12-12 stsp fi
87 723c305c 2019-05-11 jcs test_done "$testroot" "$ret"
88 723c305c 2019-05-11 jcs }
89 723c305c 2019-05-11 jcs
90 f6cae3ed 2020-09-13 naddy test_add_multiple() {
91 723c305c 2019-05-11 jcs local testroot=`test_init multiple_add`
92 723c305c 2019-05-11 jcs
93 723c305c 2019-05-11 jcs got checkout $testroot/repo $testroot/wt > /dev/null
94 49c543a6 2022-03-31 naddy ret=$?
95 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
96 723c305c 2019-05-11 jcs test_done "$testroot" "$ret"
97 723c305c 2019-05-11 jcs return 1
98 5c99ca9f 2019-03-27 stsp fi
99 723c305c 2019-05-11 jcs
100 723c305c 2019-05-11 jcs echo "new file" > $testroot/wt/foo
101 723c305c 2019-05-11 jcs echo "new file" > $testroot/wt/bar
102 723c305c 2019-05-11 jcs echo "new file" > $testroot/wt/baz
103 2b01eb6c 2019-05-11 stsp (cd $testroot/wt && got add foo bar baz > $testroot/stdout)
104 49c543a6 2022-03-31 naddy ret=$?
105 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
106 723c305c 2019-05-11 jcs echo "got add failed unexpectedly" >&2
107 723c305c 2019-05-11 jcs test_done "$testroot" 1
108 723c305c 2019-05-11 jcs return 1
109 723c305c 2019-05-11 jcs fi
110 723c305c 2019-05-11 jcs
111 10a623df 2021-10-11 stsp echo "A bar" > $testroot/stdout.expected
112 2b01eb6c 2019-05-11 stsp echo "A baz" >> $testroot/stdout.expected
113 10a623df 2021-10-11 stsp echo "A foo" >> $testroot/stdout.expected
114 58e5e037 2023-06-20 stsp
115 58e5e037 2023-06-20 stsp cmp -s $testroot/stdout.expected $testroot/stdout
116 58e5e037 2023-06-20 stsp ret=$?
117 58e5e037 2023-06-20 stsp if [ $ret -ne 0 ]; then
118 58e5e037 2023-06-20 stsp diff -u $testroot/stdout.expected $testroot/stdout
119 58e5e037 2023-06-20 stsp test_done "$testroot" "$ret"
120 58e5e037 2023-06-20 stsp return 1
121 58e5e037 2023-06-20 stsp fi
122 58e5e037 2023-06-20 stsp
123 b88936d3 2023-06-21 stsp echo "changed file" > $testroot/wt/alpha
124 58e5e037 2023-06-20 stsp echo "new file" > $testroot/wt/bax
125 58e5e037 2023-06-20 stsp (cd $testroot/wt && got add -R * > $testroot/stdout)
126 58e5e037 2023-06-20 stsp ret=$?
127 58e5e037 2023-06-20 stsp if [ $ret -ne 0 ]; then
128 58e5e037 2023-06-20 stsp echo "got add failed unexpectedly" >&2
129 58e5e037 2023-06-20 stsp test_done "$testroot" 1
130 58e5e037 2023-06-20 stsp return 1
131 58e5e037 2023-06-20 stsp fi
132 58e5e037 2023-06-20 stsp
133 58e5e037 2023-06-20 stsp echo "A bax" > $testroot/stdout.expected
134 2b01eb6c 2019-05-11 stsp
135 8d301dd9 2019-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
136 49c543a6 2022-03-31 naddy ret=$?
137 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
138 2b01eb6c 2019-05-11 stsp diff -u $testroot/stdout.expected $testroot/stdout
139 2b01eb6c 2019-05-11 stsp fi
140 58e5e037 2023-06-20 stsp
141 5c99ca9f 2019-03-27 stsp test_done "$testroot" "$ret"
142 5c99ca9f 2019-03-27 stsp }
143 5c99ca9f 2019-03-27 stsp
144 f6cae3ed 2020-09-13 naddy test_add_file_in_new_subdir() {
145 a9fa2909 2019-07-27 stsp local testroot=`test_init add_file_in_new_subdir`
146 a9fa2909 2019-07-27 stsp
147 a9fa2909 2019-07-27 stsp got checkout $testroot/repo $testroot/wt > /dev/null
148 49c543a6 2022-03-31 naddy ret=$?
149 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
150 a9fa2909 2019-07-27 stsp test_done "$testroot" "$ret"
151 a9fa2909 2019-07-27 stsp return 1
152 a9fa2909 2019-07-27 stsp fi
153 a9fa2909 2019-07-27 stsp
154 a9fa2909 2019-07-27 stsp mkdir -p $testroot/wt/new
155 a9fa2909 2019-07-27 stsp echo "new file" > $testroot/wt/new/foo
156 a9fa2909 2019-07-27 stsp
157 a9fa2909 2019-07-27 stsp echo 'A new/foo' > $testroot/stdout.expected
158 a9fa2909 2019-07-27 stsp (cd $testroot/wt && got add new/foo > $testroot/stdout)
159 a9fa2909 2019-07-27 stsp
160 a9fa2909 2019-07-27 stsp cmp -s $testroot/stdout.expected $testroot/stdout
161 49c543a6 2022-03-31 naddy ret=$?
162 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
163 a9fa2909 2019-07-27 stsp diff -u $testroot/stdout.expected $testroot/stdout
164 a9fa2909 2019-07-27 stsp fi
165 a9fa2909 2019-07-27 stsp test_done "$testroot" "$ret"
166 a9fa2909 2019-07-27 stsp }
167 a9fa2909 2019-07-27 stsp
168 f6cae3ed 2020-09-13 naddy test_add_deleted() {
169 6d022e97 2019-08-04 stsp local testroot=`test_init add_deleted`
170 6d022e97 2019-08-04 stsp
171 6d022e97 2019-08-04 stsp got checkout $testroot/repo $testroot/wt > /dev/null
172 49c543a6 2022-03-31 naddy ret=$?
173 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
174 6d022e97 2019-08-04 stsp test_done "$testroot" "$ret"
175 6d022e97 2019-08-04 stsp return 1
176 6d022e97 2019-08-04 stsp fi
177 6d022e97 2019-08-04 stsp
178 6d022e97 2019-08-04 stsp (cd $testroot/wt && got rm beta > /dev/null)
179 6d022e97 2019-08-04 stsp
180 6d022e97 2019-08-04 stsp echo -n > $testroot/stdout.expected
181 6d022e97 2019-08-04 stsp (cd $testroot/wt && got add beta > $testroot/stdout 2> $testroot/stderr)
182 49c543a6 2022-03-31 naddy ret=$?
183 49c543a6 2022-03-31 naddy if [ $ret -eq 0 ]; then
184 6d022e97 2019-08-04 stsp echo "got add command succeeded unexpectedly" >&2
185 6d022e97 2019-08-04 stsp diff -u $testroot/stdout.expected $testroot/stdout
186 6d022e97 2019-08-04 stsp test_done "$testroot" "1"
187 6d022e97 2019-08-04 stsp return 1
188 6d022e97 2019-08-04 stsp fi
189 6d022e97 2019-08-04 stsp
190 6d022e97 2019-08-04 stsp echo "got: beta: file has unexpected status" > $testroot/stderr.expected
191 6d022e97 2019-08-04 stsp cmp -s $testroot/stderr.expected $testroot/stderr
192 49c543a6 2022-03-31 naddy ret=$?
193 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
194 6d022e97 2019-08-04 stsp diff -u $testroot/stderr.expected $testroot/stderr
195 6d022e97 2019-08-04 stsp fi
196 6d022e97 2019-08-04 stsp test_done "$testroot" "$ret"
197 6d022e97 2019-08-04 stsp }
198 6d022e97 2019-08-04 stsp
199 9c6f408e 2023-08-25 stsp test_add_force_delete_commit() {
200 9c6f408e 2023-08-25 stsp local testroot=`test_init add_force_delete_commit`
201 9c6f408e 2023-08-25 stsp
202 9c6f408e 2023-08-25 stsp got checkout $testroot/repo $testroot/wt > /dev/null
203 9c6f408e 2023-08-25 stsp ret=$?
204 9c6f408e 2023-08-25 stsp if [ $ret -ne 0 ]; then
205 9c6f408e 2023-08-25 stsp test_done "$testroot" "$ret"
206 9c6f408e 2023-08-25 stsp return 1
207 9c6f408e 2023-08-25 stsp fi
208 9c6f408e 2023-08-25 stsp
209 9c6f408e 2023-08-25 stsp echo new > $testroot/wt/new
210 9c6f408e 2023-08-25 stsp
211 9c6f408e 2023-08-25 stsp echo -n > $testroot/stdout.expected
212 9c6f408e 2023-08-25 stsp (cd $testroot/wt && got add new > $testroot/stdout 2> $testroot/stderr)
213 9c6f408e 2023-08-25 stsp ret=$?
214 9c6f408e 2023-08-25 stsp if [ $ret -ne 0 ]; then
215 9c6f408e 2023-08-25 stsp echo "got add command failed unexpectedly" >&2
216 9c6f408e 2023-08-25 stsp diff -u $testroot/stdout.expected $testroot/stdout
217 9c6f408e 2023-08-25 stsp test_done "$testroot" "1"
218 9c6f408e 2023-08-25 stsp return 1
219 9c6f408e 2023-08-25 stsp fi
220 9c6f408e 2023-08-25 stsp
221 9c6f408e 2023-08-25 stsp (cd $testroot/wt && mv new new2 > $testroot/stdout 2> $testroot/stderr)
222 9c6f408e 2023-08-25 stsp ret=$?
223 9c6f408e 2023-08-25 stsp if [ $ret -ne 0 ]; then
224 9c6f408e 2023-08-25 stsp echo "rename the file failed unexpectedly" >&2
225 9c6f408e 2023-08-25 stsp ls beta2
226 9c6f408e 2023-08-25 stsp test_done "$testroot" "1"
227 9c6f408e 2023-08-25 stsp return 1
228 9c6f408e 2023-08-25 stsp fi
229 9c6f408e 2023-08-25 stsp
230 9c6f408e 2023-08-25 stsp
231 9c6f408e 2023-08-25 stsp (cd $testroot/wt && got add new2 > $testroot/stdout 2> $testroot/stderr)
232 9c6f408e 2023-08-25 stsp ret=$?
233 9c6f408e 2023-08-25 stsp if [ $ret -ne 0 ]; then
234 9c6f408e 2023-08-25 stsp echo "got add command failed unexpectedly" >&2
235 9c6f408e 2023-08-25 stsp test_done "$testroot" "1"
236 9c6f408e 2023-08-25 stsp return 1
237 9c6f408e 2023-08-25 stsp fi
238 9c6f408e 2023-08-25 stsp
239 9c6f408e 2023-08-25 stsp # File 'new' was once in A status (locally added) but is now
240 9c6f408e 2023-08-25 stsp # in "!" (missing) status since it was never committed.
241 9c6f408e 2023-08-25 stsp # Removing it effectively reverts the local addition.
242 9c6f408e 2023-08-25 stsp (cd $testroot/wt && got remove -f new > $testroot/stdout \
243 9c6f408e 2023-08-25 stsp 2> $testroot/stderr)
244 9c6f408e 2023-08-25 stsp ret=$?
245 9c6f408e 2023-08-25 stsp if [ $ret -ne 0 ]; then
246 9c6f408e 2023-08-25 stsp echo "got remove -f command failed unexpectedly" >&2
247 9c6f408e 2023-08-25 stsp test_done "$testroot" "1"
248 9c6f408e 2023-08-25 stsp return 1
249 9c6f408e 2023-08-25 stsp fi
250 9c6f408e 2023-08-25 stsp
251 9c6f408e 2023-08-25 stsp (cd $testroot/wt && got status > $testroot/stdout)
252 9c6f408e 2023-08-25 stsp
253 9c6f408e 2023-08-25 stsp echo 'A new2' > $testroot/stdout.expected
254 9c6f408e 2023-08-25 stsp cmp -s $testroot/stdout.expected $testroot/stdout
255 9c6f408e 2023-08-25 stsp ret=$?
256 9c6f408e 2023-08-25 stsp if [ $ret -ne 0 ]; then
257 9c6f408e 2023-08-25 stsp diff -u $testroot/stdout.expected $testroot/stdout
258 9c6f408e 2023-08-25 stsp test_done "$testroot" "$ret"
259 9c6f408e 2023-08-25 stsp return 1
260 9c6f408e 2023-08-25 stsp fi
261 9c6f408e 2023-08-25 stsp
262 9c6f408e 2023-08-25 stsp (cd $testroot/wt && got commit -m "add force remove commit" \
263 9c6f408e 2023-08-25 stsp > $testroot/stdout 2> $testroot/stderr)
264 9c6f408e 2023-08-25 stsp ret=$?
265 9c6f408e 2023-08-25 stsp if [ $ret -ne 0 ]; then
266 9c6f408e 2023-08-25 stsp echo "got commit command failed unexpectedly" >&2
267 9c6f408e 2023-08-25 stsp fi
268 9c6f408e 2023-08-25 stsp test_done "$testroot" "$ret"
269 9c6f408e 2023-08-25 stsp }
270 9c6f408e 2023-08-25 stsp
271 f6cae3ed 2020-09-13 naddy test_add_directory() {
272 4e68cba3 2019-11-23 stsp local testroot=`test_init add_directory`
273 4e68cba3 2019-11-23 stsp
274 4e68cba3 2019-11-23 stsp got checkout $testroot/repo $testroot/wt > /dev/null
275 49c543a6 2022-03-31 naddy ret=$?
276 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
277 4e68cba3 2019-11-23 stsp test_done "$testroot" "$ret"
278 4e68cba3 2019-11-23 stsp return 1
279 4e68cba3 2019-11-23 stsp fi
280 4e68cba3 2019-11-23 stsp
281 4e68cba3 2019-11-23 stsp (cd $testroot/wt && got add . > $testroot/stdout 2> $testroot/stderr)
282 49c543a6 2022-03-31 naddy ret=$?
283 022fae89 2019-12-06 tracey echo "got: adding directories requires -R option" \
284 022fae89 2019-12-06 tracey > $testroot/stderr.expected
285 022fae89 2019-12-06 tracey cmp -s $testroot/stderr.expected $testroot/stderr
286 49c543a6 2022-03-31 naddy ret=$?
287 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
288 022fae89 2019-12-06 tracey diff -u $testroot/stderr.expected $testroot/stderr
289 022fae89 2019-12-06 tracey test_done "$testroot" "$ret"
290 4e68cba3 2019-11-23 stsp return 1
291 4e68cba3 2019-11-23 stsp fi
292 022fae89 2019-12-06 tracey
293 022fae89 2019-12-06 tracey (cd $testroot/wt && got add -I . > $testroot/stdout 2> $testroot/stderr)
294 49c543a6 2022-03-31 naddy ret=$?
295 ff56836b 2021-07-08 stsp echo "got: adding directories requires -R option" \
296 4e68cba3 2019-11-23 stsp > $testroot/stderr.expected
297 4e68cba3 2019-11-23 stsp cmp -s $testroot/stderr.expected $testroot/stderr
298 49c543a6 2022-03-31 naddy ret=$?
299 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
300 4e68cba3 2019-11-23 stsp diff -u $testroot/stderr.expected $testroot/stderr
301 4e68cba3 2019-11-23 stsp test_done "$testroot" "$ret"
302 4e68cba3 2019-11-23 stsp return 1
303 4e68cba3 2019-11-23 stsp fi
304 4e68cba3 2019-11-23 stsp
305 4e68cba3 2019-11-23 stsp echo -n > $testroot/stdout.expected
306 4e68cba3 2019-11-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
307 49c543a6 2022-03-31 naddy ret=$?
308 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
309 4e68cba3 2019-11-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
310 4e68cba3 2019-11-23 stsp test_done "$testroot" "$ret"
311 4e68cba3 2019-11-23 stsp return 1
312 4e68cba3 2019-11-23 stsp fi
313 4e68cba3 2019-11-23 stsp
314 022fae89 2019-12-06 tracey mkdir -p $testroot/wt/tree1
315 022fae89 2019-12-06 tracey mkdir -p $testroot/wt/tree2
316 022fae89 2019-12-06 tracey echo "tree1/**" > $testroot/wt/.gitignore
317 022fae89 2019-12-06 tracey echo "tree2/**" >> $testroot/wt/.gitignore
318 022fae89 2019-12-06 tracey echo -n > $testroot/wt/tree1/foo
319 022fae89 2019-12-06 tracey echo -n > $testroot/wt/tree2/foo
320 022fae89 2019-12-06 tracey echo -n > $testroot/wt/epsilon/zeta1
321 022fae89 2019-12-06 tracey echo -n > $testroot/wt/epsilon/zeta2
322 4e68cba3 2019-11-23 stsp
323 4e68cba3 2019-11-23 stsp (cd $testroot/wt && got add -R . > $testroot/stdout)
324 4e68cba3 2019-11-23 stsp
325 022fae89 2019-12-06 tracey echo 'A .gitignore' > $testroot/stdout.expected
326 022fae89 2019-12-06 tracey echo 'A epsilon/zeta1' >> $testroot/stdout.expected
327 4e68cba3 2019-11-23 stsp echo 'A epsilon/zeta2' >> $testroot/stdout.expected
328 4e68cba3 2019-11-23 stsp
329 4e68cba3 2019-11-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
330 49c543a6 2022-03-31 naddy ret=$?
331 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
332 4e68cba3 2019-11-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
333 4e68cba3 2019-11-23 stsp test_done "$testroot" "$ret"
334 4e68cba3 2019-11-23 stsp return 1
335 4e68cba3 2019-11-23 stsp fi
336 4e68cba3 2019-11-23 stsp
337 022fae89 2019-12-06 tracey (cd $testroot/wt && got add -RI tree1 > $testroot/stdout)
338 4e68cba3 2019-11-23 stsp
339 022fae89 2019-12-06 tracey echo 'A tree1/foo' > $testroot/stdout.expected
340 022fae89 2019-12-06 tracey
341 022fae89 2019-12-06 tracey cmp -s $testroot/stdout.expected $testroot/stdout
342 49c543a6 2022-03-31 naddy ret=$?
343 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
344 022fae89 2019-12-06 tracey diff -u $testroot/stdout.expected $testroot/stdout
345 022fae89 2019-12-06 tracey test_done "$testroot" "$ret"
346 022fae89 2019-12-06 tracey return 1
347 4e68cba3 2019-11-23 stsp fi
348 022fae89 2019-12-06 tracey
349 022fae89 2019-12-06 tracey (cd $testroot/wt && got add tree2/foo > $testroot/stdout)
350 ff56836b 2021-07-08 stsp
351 ff56836b 2021-07-08 stsp echo -n '' > $testroot/stdout.expected
352 ff56836b 2021-07-08 stsp
353 ff56836b 2021-07-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
354 49c543a6 2022-03-31 naddy ret=$?
355 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
356 ff56836b 2021-07-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
357 ff56836b 2021-07-08 stsp test_done "$testroot" "$ret"
358 ff56836b 2021-07-08 stsp return 1
359 ff56836b 2021-07-08 stsp fi
360 022fae89 2019-12-06 tracey
361 ff56836b 2021-07-08 stsp (cd $testroot/wt && got add -I tree2/foo > $testroot/stdout)
362 ff56836b 2021-07-08 stsp
363 022fae89 2019-12-06 tracey echo 'A tree2/foo' > $testroot/stdout.expected
364 e7303626 2020-05-14 stsp
365 e7303626 2020-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
366 49c543a6 2022-03-31 naddy ret=$?
367 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
368 e7303626 2020-05-14 stsp diff -u $testroot/stdout.expected $testroot/stdout
369 e7303626 2020-05-14 stsp test_done "$testroot" "$ret"
370 e7303626 2020-05-14 stsp return 1
371 e7303626 2020-05-14 stsp fi
372 e7303626 2020-05-14 stsp test_done "$testroot" "$ret"
373 e7303626 2020-05-14 stsp }
374 e7303626 2020-05-14 stsp
375 f6cae3ed 2020-09-13 naddy test_add_clashes_with_submodule() {
376 e7303626 2020-05-14 stsp local testroot=`test_init add_clashes_with_submodule`
377 e7303626 2020-05-14 stsp
378 e7303626 2020-05-14 stsp make_single_file_repo $testroot/repo2 foo
379 e7303626 2020-05-14 stsp
380 f73bf5bd 2023-10-01 naddy git -C $testroot/repo -c protocol.file.allow=always \
381 f73bf5bd 2023-10-01 naddy submodule -q add ../repo2
382 f73bf5bd 2023-10-01 naddy git -C $testroot/repo commit -q -m 'adding submodule'
383 e7303626 2020-05-14 stsp
384 e7303626 2020-05-14 stsp got checkout $testroot/repo $testroot/wt > /dev/null
385 e7303626 2020-05-14 stsp
386 e7303626 2020-05-14 stsp # Atttempt to add a file clashes with a submodule
387 e7303626 2020-05-14 stsp echo "This is a file called repo2" > $testroot/wt/repo2
388 e7303626 2020-05-14 stsp (cd $testroot/wt && got add repo2 > /dev/null)
389 022fae89 2019-12-06 tracey
390 e7303626 2020-05-14 stsp (cd $testroot/wt && got status > $testroot/stdout)
391 e7303626 2020-05-14 stsp echo "A repo2" > $testroot/stdout.expected
392 022fae89 2019-12-06 tracey cmp -s $testroot/stdout.expected $testroot/stdout
393 49c543a6 2022-03-31 naddy ret=$?
394 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
395 022fae89 2019-12-06 tracey diff -u $testroot/stdout.expected $testroot/stdout
396 022fae89 2019-12-06 tracey test_done "$testroot" "$ret"
397 022fae89 2019-12-06 tracey return 1
398 022fae89 2019-12-06 tracey fi
399 e7303626 2020-05-14 stsp
400 e7303626 2020-05-14 stsp # Update for good measure; see the error below.
401 e7303626 2020-05-14 stsp (cd $testroot/wt && got update > /dev/null)
402 e7303626 2020-05-14 stsp
403 e7303626 2020-05-14 stsp # This currently fails with "work tree must be updated"...
404 e7303626 2020-05-14 stsp (cd $testroot/wt && got commit -m 'add file repo2' \
405 e7303626 2020-05-14 stsp > $testroot/stdout 2> $testroot/stderr)
406 49c543a6 2022-03-31 naddy ret=$?
407 49c543a6 2022-03-31 naddy if [ $ret -eq 0 ]; then
408 e7303626 2020-05-14 stsp echo "commit succeeded unexpectedly" >&2
409 e7303626 2020-05-14 stsp test_done "$testroot" "1"
410 e7303626 2020-05-14 stsp return 1
411 e7303626 2020-05-14 stsp fi
412 e7303626 2020-05-14 stsp
413 e7303626 2020-05-14 stsp echo -n "got: work tree must be updated " > $testroot/stderr.expected
414 e7303626 2020-05-14 stsp echo "before these changes can be committed" >> $testroot/stderr.expected
415 e7303626 2020-05-14 stsp cmp -s $testroot/stderr.expected $testroot/stderr
416 49c543a6 2022-03-31 naddy ret=$?
417 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
418 e7303626 2020-05-14 stsp diff -u $testroot/stderr.expected $testroot/stderr
419 00bb5ea0 2020-07-23 stsp fi
420 00bb5ea0 2020-07-23 stsp test_done "$testroot" "$ret"
421 00bb5ea0 2020-07-23 stsp }
422 00bb5ea0 2020-07-23 stsp
423 f6cae3ed 2020-09-13 naddy test_add_symlink() {
424 00bb5ea0 2020-07-23 stsp local testroot=`test_init add_symlink`
425 00bb5ea0 2020-07-23 stsp
426 00bb5ea0 2020-07-23 stsp got checkout $testroot/repo $testroot/wt > /dev/null
427 49c543a6 2022-03-31 naddy ret=$?
428 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
429 00bb5ea0 2020-07-23 stsp test_done "$testroot" "$ret"
430 00bb5ea0 2020-07-23 stsp return 1
431 00bb5ea0 2020-07-23 stsp fi
432 00bb5ea0 2020-07-23 stsp
433 00bb5ea0 2020-07-23 stsp (cd $testroot/wt && ln -s alpha alpha.link)
434 00bb5ea0 2020-07-23 stsp (cd $testroot/wt && ln -s epsilon epsilon.link)
435 00bb5ea0 2020-07-23 stsp (cd $testroot/wt && ln -s /etc/passwd passwd.link)
436 00bb5ea0 2020-07-23 stsp (cd $testroot/wt && ln -s ../beta epsilon/beta.link)
437 00bb5ea0 2020-07-23 stsp (cd $testroot/wt && ln -s nonexistent nonexistent.link)
438 00bb5ea0 2020-07-23 stsp
439 00bb5ea0 2020-07-23 stsp echo "A alpha.link" > $testroot/stdout.expected
440 00bb5ea0 2020-07-23 stsp (cd $testroot/wt && got add alpha.link > $testroot/stdout)
441 49c543a6 2022-03-31 naddy ret=$?
442 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
443 00bb5ea0 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
444 00bb5ea0 2020-07-23 stsp test_done "$testroot" "$ret"
445 00bb5ea0 2020-07-23 stsp return 1
446 00bb5ea0 2020-07-23 stsp fi
447 00bb5ea0 2020-07-23 stsp
448 00bb5ea0 2020-07-23 stsp echo "A epsilon.link" > $testroot/stdout.expected
449 00bb5ea0 2020-07-23 stsp (cd $testroot/wt && got add epsilon.link > $testroot/stdout)
450 00bb5ea0 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
451 49c543a6 2022-03-31 naddy ret=$?
452 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
453 00bb5ea0 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
454 00bb5ea0 2020-07-23 stsp test_done "$testroot" "$ret"
455 00bb5ea0 2020-07-23 stsp return 1
456 e7303626 2020-05-14 stsp fi
457 00bb5ea0 2020-07-23 stsp
458 00bb5ea0 2020-07-23 stsp echo "A passwd.link" > $testroot/stdout.expected
459 00bb5ea0 2020-07-23 stsp (cd $testroot/wt && got add passwd.link > $testroot/stdout)
460 00bb5ea0 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
461 49c543a6 2022-03-31 naddy ret=$?
462 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
463 00bb5ea0 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
464 00bb5ea0 2020-07-23 stsp test_done "$testroot" "$ret"
465 00bb5ea0 2020-07-23 stsp return 1
466 00bb5ea0 2020-07-23 stsp fi
467 00bb5ea0 2020-07-23 stsp
468 00bb5ea0 2020-07-23 stsp echo "A epsilon/beta.link" > $testroot/stdout.expected
469 00bb5ea0 2020-07-23 stsp (cd $testroot/wt && got add epsilon/beta.link > $testroot/stdout)
470 00bb5ea0 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
471 49c543a6 2022-03-31 naddy ret=$?
472 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
473 00bb5ea0 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
474 00bb5ea0 2020-07-23 stsp test_done "$testroot" "$ret"
475 00bb5ea0 2020-07-23 stsp return 1
476 00bb5ea0 2020-07-23 stsp fi
477 00bb5ea0 2020-07-23 stsp
478 00bb5ea0 2020-07-23 stsp echo "A nonexistent.link" > $testroot/stdout.expected
479 00bb5ea0 2020-07-23 stsp (cd $testroot/wt && got add nonexistent.link > $testroot/stdout)
480 00bb5ea0 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
481 49c543a6 2022-03-31 naddy ret=$?
482 49c543a6 2022-03-31 naddy if [ $ret -ne 0 ]; then
483 00bb5ea0 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
484 00bb5ea0 2020-07-23 stsp fi
485 4e68cba3 2019-11-23 stsp test_done "$testroot" "$ret"
486 4e68cba3 2019-11-23 stsp }
487 4e68cba3 2019-11-23 stsp
488 7fb414ae 2020-08-08 stsp test_parseargs "$@"
489 6dbf1e9e 2019-03-26 stsp run_test test_add_basic
490 5c99ca9f 2019-03-27 stsp run_test test_double_add
491 2b01eb6c 2019-05-11 stsp run_test test_add_multiple
492 a9fa2909 2019-07-27 stsp run_test test_add_file_in_new_subdir
493 6d022e97 2019-08-04 stsp run_test test_add_deleted
494 9c6f408e 2023-08-25 stsp run_test test_add_force_delete_commit
495 4e68cba3 2019-11-23 stsp run_test test_add_directory
496 e7303626 2020-05-14 stsp run_test test_add_clashes_with_submodule
497 00bb5ea0 2020-07-23 stsp run_test test_add_symlink