Blame


1 a129376b 2019-03-28 stsp #!/bin/sh
2 a129376b 2019-03-28 stsp #
3 a129376b 2019-03-28 stsp # Copyright (c) 2019 Stefan Sperling <stsp@openbsd.org>
4 a129376b 2019-03-28 stsp #
5 a129376b 2019-03-28 stsp # Permission to use, copy, modify, and distribute this software for any
6 a129376b 2019-03-28 stsp # purpose with or without fee is hereby granted, provided that the above
7 a129376b 2019-03-28 stsp # copyright notice and this permission notice appear in all copies.
8 a129376b 2019-03-28 stsp #
9 a129376b 2019-03-28 stsp # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 a129376b 2019-03-28 stsp # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 a129376b 2019-03-28 stsp # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 a129376b 2019-03-28 stsp # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 a129376b 2019-03-28 stsp # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 a129376b 2019-03-28 stsp # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 a129376b 2019-03-28 stsp # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 a129376b 2019-03-28 stsp
17 a129376b 2019-03-28 stsp . ./common.sh
18 a129376b 2019-03-28 stsp
19 a129376b 2019-03-28 stsp function test_revert_basic {
20 a129376b 2019-03-28 stsp local testroot=`test_init revert_basic`
21 a129376b 2019-03-28 stsp
22 a129376b 2019-03-28 stsp got checkout $testroot/repo $testroot/wt > /dev/null
23 a129376b 2019-03-28 stsp ret="$?"
24 a129376b 2019-03-28 stsp if [ "$ret" != "0" ]; then
25 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
26 a129376b 2019-03-28 stsp return 1
27 a129376b 2019-03-28 stsp fi
28 a129376b 2019-03-28 stsp
29 5e54fb30 2019-05-31 stsp echo "modified epsilon/zeta" > $testroot/wt/epsilon/zeta
30 a129376b 2019-03-28 stsp
31 5e54fb30 2019-05-31 stsp echo 'R epsilon/zeta' > $testroot/stdout.expected
32 a129376b 2019-03-28 stsp
33 5e54fb30 2019-05-31 stsp (cd $testroot/wt && got revert epsilon/zeta > $testroot/stdout)
34 a129376b 2019-03-28 stsp
35 8d301dd9 2019-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
36 a129376b 2019-03-28 stsp ret="$?"
37 a129376b 2019-03-28 stsp if [ "$ret" != "0" ]; then
38 a129376b 2019-03-28 stsp diff -u $testroot/stdout.expected $testroot/stdout
39 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
40 a129376b 2019-03-28 stsp return 1
41 a129376b 2019-03-28 stsp fi
42 a129376b 2019-03-28 stsp
43 5e54fb30 2019-05-31 stsp echo "zeta" > $testroot/content.expected
44 5e54fb30 2019-05-31 stsp cat $testroot/wt/epsilon/zeta > $testroot/content
45 a129376b 2019-03-28 stsp
46 8d301dd9 2019-05-14 stsp cmp -s $testroot/content.expected $testroot/content
47 a129376b 2019-03-28 stsp ret="$?"
48 a129376b 2019-03-28 stsp if [ "$ret" != "0" ]; then
49 a129376b 2019-03-28 stsp diff -u $testroot/content.expected $testroot/content
50 a129376b 2019-03-28 stsp fi
51 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
52 a129376b 2019-03-28 stsp
53 a129376b 2019-03-28 stsp }
54 a129376b 2019-03-28 stsp
55 a129376b 2019-03-28 stsp function test_revert_rm {
56 a129376b 2019-03-28 stsp local testroot=`test_init revert_rm`
57 a129376b 2019-03-28 stsp
58 a129376b 2019-03-28 stsp got checkout $testroot/repo $testroot/wt > /dev/null
59 a129376b 2019-03-28 stsp ret="$?"
60 a129376b 2019-03-28 stsp if [ "$ret" != "0" ]; then
61 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
62 a129376b 2019-03-28 stsp return 1
63 a129376b 2019-03-28 stsp fi
64 a129376b 2019-03-28 stsp
65 a129376b 2019-03-28 stsp (cd $testroot/wt && got rm beta >/dev/null)
66 a129376b 2019-03-28 stsp
67 a129376b 2019-03-28 stsp echo 'R beta' > $testroot/stdout.expected
68 a129376b 2019-03-28 stsp
69 a129376b 2019-03-28 stsp (cd $testroot/wt && got revert beta > $testroot/stdout)
70 a129376b 2019-03-28 stsp
71 8d301dd9 2019-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
72 a129376b 2019-03-28 stsp ret="$?"
73 a129376b 2019-03-28 stsp if [ "$ret" != "0" ]; then
74 a129376b 2019-03-28 stsp diff -u $testroot/stdout.expected $testroot/stdout
75 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
76 a129376b 2019-03-28 stsp return 1
77 a129376b 2019-03-28 stsp fi
78 a129376b 2019-03-28 stsp
79 a129376b 2019-03-28 stsp echo "beta" > $testroot/content.expected
80 a129376b 2019-03-28 stsp cat $testroot/wt/beta > $testroot/content
81 a129376b 2019-03-28 stsp
82 8d301dd9 2019-05-14 stsp cmp -s $testroot/content.expected $testroot/content
83 a129376b 2019-03-28 stsp ret="$?"
84 a129376b 2019-03-28 stsp if [ "$ret" != "0" ]; then
85 a129376b 2019-03-28 stsp diff -u $testroot/content.expected $testroot/content
86 a129376b 2019-03-28 stsp fi
87 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
88 a129376b 2019-03-28 stsp }
89 a129376b 2019-03-28 stsp
90 a129376b 2019-03-28 stsp function test_revert_add {
91 a129376b 2019-03-28 stsp local testroot=`test_init revert_add`
92 a129376b 2019-03-28 stsp
93 a129376b 2019-03-28 stsp got checkout $testroot/repo $testroot/wt > /dev/null
94 a129376b 2019-03-28 stsp ret="$?"
95 a129376b 2019-03-28 stsp if [ "$ret" != "0" ]; then
96 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
97 a129376b 2019-03-28 stsp return 1
98 a129376b 2019-03-28 stsp fi
99 a129376b 2019-03-28 stsp
100 a129376b 2019-03-28 stsp echo "new file" > $testroot/wt/new
101 a129376b 2019-03-28 stsp (cd $testroot/wt && got add new >/dev/null)
102 a129376b 2019-03-28 stsp
103 a129376b 2019-03-28 stsp echo 'R new' > $testroot/stdout.expected
104 a129376b 2019-03-28 stsp
105 a129376b 2019-03-28 stsp (cd $testroot/wt && got revert new > $testroot/stdout)
106 a129376b 2019-03-28 stsp
107 8d301dd9 2019-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
108 a129376b 2019-03-28 stsp ret="$?"
109 a129376b 2019-03-28 stsp if [ "$ret" != "0" ]; then
110 a129376b 2019-03-28 stsp diff -u $testroot/stdout.expected $testroot/stdout
111 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
112 a129376b 2019-03-28 stsp return 1
113 a129376b 2019-03-28 stsp fi
114 a129376b 2019-03-28 stsp
115 a129376b 2019-03-28 stsp echo "new file" > $testroot/content.expected
116 a129376b 2019-03-28 stsp cat $testroot/wt/new > $testroot/content
117 a129376b 2019-03-28 stsp
118 8d301dd9 2019-05-14 stsp cmp -s $testroot/content.expected $testroot/content
119 a129376b 2019-03-28 stsp ret="$?"
120 a129376b 2019-03-28 stsp if [ "$ret" != "0" ]; then
121 a129376b 2019-03-28 stsp diff -u $testroot/content.expected $testroot/content
122 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
123 a129376b 2019-03-28 stsp return 1
124 a129376b 2019-03-28 stsp fi
125 a129376b 2019-03-28 stsp
126 a129376b 2019-03-28 stsp echo '? new' > $testroot/stdout.expected
127 a129376b 2019-03-28 stsp
128 a129376b 2019-03-28 stsp (cd $testroot/wt && got status > $testroot/stdout)
129 a129376b 2019-03-28 stsp
130 8d301dd9 2019-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
131 a129376b 2019-03-28 stsp ret="$?"
132 a129376b 2019-03-28 stsp if [ "$ret" != "0" ]; then
133 a129376b 2019-03-28 stsp diff -u $testroot/stdout.expected $testroot/stdout
134 a129376b 2019-03-28 stsp fi
135 a129376b 2019-03-28 stsp test_done "$testroot" "$ret"
136 a129376b 2019-03-28 stsp }
137 a129376b 2019-03-28 stsp
138 e20a8b6f 2019-06-04 stsp function test_revert_multiple {
139 e20a8b6f 2019-06-04 stsp local testroot=`test_init revert_multiple`
140 e20a8b6f 2019-06-04 stsp
141 e20a8b6f 2019-06-04 stsp got checkout $testroot/repo $testroot/wt > /dev/null
142 e20a8b6f 2019-06-04 stsp ret="$?"
143 e20a8b6f 2019-06-04 stsp if [ "$ret" != "0" ]; then
144 e20a8b6f 2019-06-04 stsp test_done "$testroot" "$ret"
145 e20a8b6f 2019-06-04 stsp return 1
146 e20a8b6f 2019-06-04 stsp fi
147 e20a8b6f 2019-06-04 stsp
148 e20a8b6f 2019-06-04 stsp echo "modified alpha" > $testroot/wt/alpha
149 e20a8b6f 2019-06-04 stsp echo "modified epsilon/zeta" > $testroot/wt/epsilon/zeta
150 e20a8b6f 2019-06-04 stsp
151 e20a8b6f 2019-06-04 stsp echo 'R alpha' > $testroot/stdout.expected
152 e20a8b6f 2019-06-04 stsp echo 'R epsilon/zeta' >> $testroot/stdout.expected
153 e20a8b6f 2019-06-04 stsp
154 e20a8b6f 2019-06-04 stsp (cd $testroot/wt && got revert alpha epsilon/zeta > $testroot/stdout)
155 e20a8b6f 2019-06-04 stsp
156 e20a8b6f 2019-06-04 stsp cmp -s $testroot/stdout.expected $testroot/stdout
157 e20a8b6f 2019-06-04 stsp ret="$?"
158 e20a8b6f 2019-06-04 stsp if [ "$ret" != "0" ]; then
159 e20a8b6f 2019-06-04 stsp diff -u $testroot/stdout.expected $testroot/stdout
160 e20a8b6f 2019-06-04 stsp test_done "$testroot" "$ret"
161 e20a8b6f 2019-06-04 stsp return 1
162 e20a8b6f 2019-06-04 stsp fi
163 e20a8b6f 2019-06-04 stsp
164 e20a8b6f 2019-06-04 stsp echo "alpha" > $testroot/content.expected
165 e20a8b6f 2019-06-04 stsp cat $testroot/wt/alpha > $testroot/content
166 e20a8b6f 2019-06-04 stsp
167 e20a8b6f 2019-06-04 stsp cmp -s $testroot/content.expected $testroot/content
168 e20a8b6f 2019-06-04 stsp ret="$?"
169 e20a8b6f 2019-06-04 stsp if [ "$ret" != "0" ]; then
170 e20a8b6f 2019-06-04 stsp diff -u $testroot/content.expected $testroot/content
171 e20a8b6f 2019-06-04 stsp test_done "$testroot" "$ret"
172 e20a8b6f 2019-06-04 stsp return 1
173 e20a8b6f 2019-06-04 stsp fi
174 e20a8b6f 2019-06-04 stsp
175 e20a8b6f 2019-06-04 stsp echo "zeta" > $testroot/content.expected
176 e20a8b6f 2019-06-04 stsp cat $testroot/wt/epsilon/zeta > $testroot/content
177 e20a8b6f 2019-06-04 stsp
178 e20a8b6f 2019-06-04 stsp cmp -s $testroot/content.expected $testroot/content
179 e20a8b6f 2019-06-04 stsp ret="$?"
180 e20a8b6f 2019-06-04 stsp if [ "$ret" != "0" ]; then
181 e20a8b6f 2019-06-04 stsp diff -u $testroot/content.expected $testroot/content
182 e20a8b6f 2019-06-04 stsp fi
183 e20a8b6f 2019-06-04 stsp test_done "$testroot" "$ret"
184 e20a8b6f 2019-06-04 stsp }
185 e20a8b6f 2019-06-04 stsp
186 a9fa2909 2019-07-27 stsp function test_revert_file_in_new_subdir {
187 a9fa2909 2019-07-27 stsp local testroot=`test_init revert_file_in_new_subdir`
188 a9fa2909 2019-07-27 stsp
189 a9fa2909 2019-07-27 stsp got checkout $testroot/repo $testroot/wt > /dev/null
190 a9fa2909 2019-07-27 stsp ret="$?"
191 a9fa2909 2019-07-27 stsp if [ "$ret" != "0" ]; then
192 a9fa2909 2019-07-27 stsp test_done "$testroot" "$ret"
193 a9fa2909 2019-07-27 stsp return 1
194 a9fa2909 2019-07-27 stsp fi
195 a9fa2909 2019-07-27 stsp
196 a9fa2909 2019-07-27 stsp
197 a9fa2909 2019-07-27 stsp mkdir -p $testroot/wt/newdir
198 a9fa2909 2019-07-27 stsp echo new > $testroot/wt/newdir/new
199 a9fa2909 2019-07-27 stsp (cd $testroot/wt && got add newdir/new > /dev/null)
200 a9fa2909 2019-07-27 stsp
201 a9fa2909 2019-07-27 stsp (cd $testroot/wt && got revert newdir/new > $testroot/stdout)
202 a9fa2909 2019-07-27 stsp
203 a9fa2909 2019-07-27 stsp echo "R newdir/new" > $testroot/stdout.expected
204 a9fa2909 2019-07-27 stsp cmp -s $testroot/stdout.expected $testroot/stdout
205 a9fa2909 2019-07-27 stsp ret="$?"
206 a9fa2909 2019-07-27 stsp if [ "$ret" != "0" ]; then
207 a9fa2909 2019-07-27 stsp diff -u $testroot/stdout.expected $testroot/stdout
208 a9fa2909 2019-07-27 stsp test_done "$testroot" "$ret"
209 a9fa2909 2019-07-27 stsp return 1
210 a9fa2909 2019-07-27 stsp fi
211 a9fa2909 2019-07-27 stsp
212 a9fa2909 2019-07-27 stsp (cd $testroot/wt && got status > $testroot/stdout)
213 a9fa2909 2019-07-27 stsp
214 a9fa2909 2019-07-27 stsp echo "? newdir/new" > $testroot/stdout.expected
215 a9fa2909 2019-07-27 stsp cmp -s $testroot/stdout.expected $testroot/stdout
216 a9fa2909 2019-07-27 stsp ret="$?"
217 a9fa2909 2019-07-27 stsp if [ "$ret" != "0" ]; then
218 a9fa2909 2019-07-27 stsp diff -u $testroot/stdout.expected $testroot/stdout
219 a9fa2909 2019-07-27 stsp fi
220 a9fa2909 2019-07-27 stsp test_done "$testroot" "$ret"
221 a9fa2909 2019-07-27 stsp
222 a9fa2909 2019-07-27 stsp }
223 a9fa2909 2019-07-27 stsp
224 1f1abb7e 2019-08-08 stsp function test_revert_no_arguments {
225 1f1abb7e 2019-08-08 stsp local testroot=`test_init revert_no_arguments`
226 1f1abb7e 2019-08-08 stsp
227 1f1abb7e 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
228 1f1abb7e 2019-08-08 stsp ret="$?"
229 1f1abb7e 2019-08-08 stsp if [ "$ret" != "0" ]; then
230 1f1abb7e 2019-08-08 stsp test_done "$testroot" "$ret"
231 1f1abb7e 2019-08-08 stsp return 1
232 1f1abb7e 2019-08-08 stsp fi
233 1f1abb7e 2019-08-08 stsp
234 1f1abb7e 2019-08-08 stsp echo "modified epsilon/zeta" > $testroot/wt/epsilon/zeta
235 1f1abb7e 2019-08-08 stsp
236 1f1abb7e 2019-08-08 stsp (cd $testroot/wt && got revert > $testroot/stdout 2> $testroot/stderr)
237 1f1abb7e 2019-08-08 stsp ret="$?"
238 1f1abb7e 2019-08-08 stsp if [ "$ret" == "0" ]; then
239 1f1abb7e 2019-08-08 stsp echo "revert command succeeded unexpectedly" >&2
240 1f1abb7e 2019-08-08 stsp test_done "$testroot" "1"
241 1f1abb7e 2019-08-08 stsp return 1
242 1f1abb7e 2019-08-08 stsp fi
243 1f1abb7e 2019-08-08 stsp
244 1f1abb7e 2019-08-08 stsp echo -n > $testroot/stdout.expected
245 1f1abb7e 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
246 1f1abb7e 2019-08-08 stsp ret="$?"
247 1f1abb7e 2019-08-08 stsp if [ "$ret" != "0" ]; then
248 1f1abb7e 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
249 1f1abb7e 2019-08-08 stsp test_done "$testroot" "$ret"
250 1f1abb7e 2019-08-08 stsp return 1
251 1f1abb7e 2019-08-08 stsp fi
252 1f1abb7e 2019-08-08 stsp
253 33aa809d 2019-08-08 stsp echo "usage: got revert [-p] [-F response-script] [-R] path ..." \
254 33aa809d 2019-08-08 stsp > $testroot/stderr.expected
255 0f6d7415 2019-08-08 stsp cmp -s $testroot/stderr.expected $testroot/stderr
256 0f6d7415 2019-08-08 stsp ret="$?"
257 0f6d7415 2019-08-08 stsp if [ "$ret" != "0" ]; then
258 0f6d7415 2019-08-08 stsp diff -u $testroot/stderr.expected $testroot/stderr
259 0f6d7415 2019-08-08 stsp fi
260 0f6d7415 2019-08-08 stsp test_done "$testroot" "$ret"
261 0f6d7415 2019-08-08 stsp }
262 0f6d7415 2019-08-08 stsp
263 0f6d7415 2019-08-08 stsp function test_revert_directory {
264 0f6d7415 2019-08-08 stsp local testroot=`test_init revert_directory`
265 0f6d7415 2019-08-08 stsp
266 0f6d7415 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
267 0f6d7415 2019-08-08 stsp ret="$?"
268 0f6d7415 2019-08-08 stsp if [ "$ret" != "0" ]; then
269 0f6d7415 2019-08-08 stsp test_done "$testroot" "$ret"
270 0f6d7415 2019-08-08 stsp return 1
271 0f6d7415 2019-08-08 stsp fi
272 0f6d7415 2019-08-08 stsp
273 0f6d7415 2019-08-08 stsp echo "modified epsilon/zeta" > $testroot/wt/epsilon/zeta
274 0f6d7415 2019-08-08 stsp
275 0f6d7415 2019-08-08 stsp (cd $testroot/wt && got revert . > $testroot/stdout 2> $testroot/stderr)
276 0f6d7415 2019-08-08 stsp ret="$?"
277 0f6d7415 2019-08-08 stsp if [ "$ret" == "0" ]; then
278 0f6d7415 2019-08-08 stsp echo "got revert command succeeded unexpectedly" >&2
279 0f6d7415 2019-08-08 stsp test_done "$testroot" "1"
280 0f6d7415 2019-08-08 stsp return 1
281 0f6d7415 2019-08-08 stsp fi
282 0f6d7415 2019-08-08 stsp echo "got: reverting directories requires -R option" \
283 0f6d7415 2019-08-08 stsp > $testroot/stderr.expected
284 1f1abb7e 2019-08-08 stsp cmp -s $testroot/stderr.expected $testroot/stderr
285 1f1abb7e 2019-08-08 stsp ret="$?"
286 1f1abb7e 2019-08-08 stsp if [ "$ret" != "0" ]; then
287 1f1abb7e 2019-08-08 stsp diff -u $testroot/stderr.expected $testroot/stderr
288 0f6d7415 2019-08-08 stsp test_done "$testroot" "$ret"
289 0f6d7415 2019-08-08 stsp return 1
290 1f1abb7e 2019-08-08 stsp fi
291 0f6d7415 2019-08-08 stsp
292 0f6d7415 2019-08-08 stsp echo -n > $testroot/stdout.expected
293 0f6d7415 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
294 0f6d7415 2019-08-08 stsp ret="$?"
295 0f6d7415 2019-08-08 stsp if [ "$ret" != "0" ]; then
296 0f6d7415 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
297 0f6d7415 2019-08-08 stsp test_done "$testroot" "$ret"
298 0f6d7415 2019-08-08 stsp return 1
299 0f6d7415 2019-08-08 stsp fi
300 0f6d7415 2019-08-08 stsp
301 0f6d7415 2019-08-08 stsp (cd $testroot/wt && got revert -R . > $testroot/stdout)
302 0f6d7415 2019-08-08 stsp
303 0f6d7415 2019-08-08 stsp echo 'R epsilon/zeta' > $testroot/stdout.expected
304 0f6d7415 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
305 0f6d7415 2019-08-08 stsp ret="$?"
306 0f6d7415 2019-08-08 stsp if [ "$ret" != "0" ]; then
307 0f6d7415 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
308 0f6d7415 2019-08-08 stsp test_done "$testroot" "$ret"
309 0f6d7415 2019-08-08 stsp return 1
310 0f6d7415 2019-08-08 stsp fi
311 0f6d7415 2019-08-08 stsp
312 0f6d7415 2019-08-08 stsp echo "zeta" > $testroot/content.expected
313 0f6d7415 2019-08-08 stsp cat $testroot/wt/epsilon/zeta > $testroot/content
314 0f6d7415 2019-08-08 stsp
315 0f6d7415 2019-08-08 stsp cmp -s $testroot/content.expected $testroot/content
316 0f6d7415 2019-08-08 stsp ret="$?"
317 0f6d7415 2019-08-08 stsp if [ "$ret" != "0" ]; then
318 0f6d7415 2019-08-08 stsp diff -u $testroot/content.expected $testroot/content
319 33aa809d 2019-08-08 stsp fi
320 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
321 33aa809d 2019-08-08 stsp
322 33aa809d 2019-08-08 stsp }
323 33aa809d 2019-08-08 stsp
324 33aa809d 2019-08-08 stsp function test_revert_patch {
325 33aa809d 2019-08-08 stsp local testroot=`test_init revert_patch`
326 33aa809d 2019-08-08 stsp
327 33aa809d 2019-08-08 stsp jot 16 > $testroot/repo/numbers
328 33aa809d 2019-08-08 stsp (cd $testroot/repo && git add numbers)
329 33aa809d 2019-08-08 stsp git_commit $testroot/repo -m "added numbers file"
330 33aa809d 2019-08-08 stsp local commit_id=`git_show_head $testroot/repo`
331 33aa809d 2019-08-08 stsp
332 33aa809d 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
333 33aa809d 2019-08-08 stsp ret="$?"
334 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
335 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
336 33aa809d 2019-08-08 stsp return 1
337 33aa809d 2019-08-08 stsp fi
338 33aa809d 2019-08-08 stsp
339 33aa809d 2019-08-08 stsp sed -i -e 's/^2$/a/' $testroot/wt/numbers
340 33aa809d 2019-08-08 stsp sed -i -e 's/^7$/b/' $testroot/wt/numbers
341 33aa809d 2019-08-08 stsp sed -i -e 's/^16$/c/' $testroot/wt/numbers
342 33aa809d 2019-08-08 stsp
343 33aa809d 2019-08-08 stsp (cd $testroot/wt && got diff > $testroot/numbers.diff)
344 33aa809d 2019-08-08 stsp
345 33aa809d 2019-08-08 stsp # don't revert any hunks
346 33aa809d 2019-08-08 stsp printf "n\nn\nn\n" > $testroot/patchscript
347 33aa809d 2019-08-08 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
348 33aa809d 2019-08-08 stsp numbers > $testroot/stdout)
349 33aa809d 2019-08-08 stsp ret="$?"
350 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
351 33aa809d 2019-08-08 stsp echo "got revert command failed unexpectedly" >&2
352 33aa809d 2019-08-08 stsp test_done "$testroot" "1"
353 33aa809d 2019-08-08 stsp return 1
354 33aa809d 2019-08-08 stsp fi
355 33aa809d 2019-08-08 stsp cat > $testroot/stdout.expected <<EOF
356 33aa809d 2019-08-08 stsp -----------------------------------------------
357 33aa809d 2019-08-08 stsp @@ -1,5 +1,5 @@
358 33aa809d 2019-08-08 stsp 1
359 33aa809d 2019-08-08 stsp -2
360 33aa809d 2019-08-08 stsp +a
361 33aa809d 2019-08-08 stsp 3
362 33aa809d 2019-08-08 stsp 4
363 33aa809d 2019-08-08 stsp 5
364 33aa809d 2019-08-08 stsp -----------------------------------------------
365 33aa809d 2019-08-08 stsp M numbers (change 1 of 3)
366 33aa809d 2019-08-08 stsp revert this change? [y/n/q] n
367 33aa809d 2019-08-08 stsp -----------------------------------------------
368 33aa809d 2019-08-08 stsp @@ -4,7 +4,7 @@
369 33aa809d 2019-08-08 stsp 4
370 33aa809d 2019-08-08 stsp 5
371 33aa809d 2019-08-08 stsp 6
372 33aa809d 2019-08-08 stsp -7
373 33aa809d 2019-08-08 stsp +b
374 33aa809d 2019-08-08 stsp 8
375 33aa809d 2019-08-08 stsp 9
376 33aa809d 2019-08-08 stsp 10
377 33aa809d 2019-08-08 stsp -----------------------------------------------
378 33aa809d 2019-08-08 stsp M numbers (change 2 of 3)
379 33aa809d 2019-08-08 stsp revert this change? [y/n/q] n
380 33aa809d 2019-08-08 stsp -----------------------------------------------
381 33aa809d 2019-08-08 stsp @@ -13,4 +13,4 @@
382 33aa809d 2019-08-08 stsp 13
383 33aa809d 2019-08-08 stsp 14
384 33aa809d 2019-08-08 stsp 15
385 33aa809d 2019-08-08 stsp -16
386 33aa809d 2019-08-08 stsp +c
387 33aa809d 2019-08-08 stsp -----------------------------------------------
388 33aa809d 2019-08-08 stsp M numbers (change 3 of 3)
389 33aa809d 2019-08-08 stsp revert this change? [y/n/q] n
390 33aa809d 2019-08-08 stsp EOF
391 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
392 33aa809d 2019-08-08 stsp ret="$?"
393 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
394 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
395 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
396 33aa809d 2019-08-08 stsp return 1
397 33aa809d 2019-08-08 stsp fi
398 33aa809d 2019-08-08 stsp
399 33aa809d 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
400 33aa809d 2019-08-08 stsp echo "M numbers" > $testroot/stdout.expected
401 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
402 33aa809d 2019-08-08 stsp ret="$?"
403 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
404 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
405 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
406 33aa809d 2019-08-08 stsp return 1
407 33aa809d 2019-08-08 stsp fi
408 33aa809d 2019-08-08 stsp
409 33aa809d 2019-08-08 stsp (cd $testroot/wt && got diff > $testroot/stdout)
410 33aa809d 2019-08-08 stsp cmp -s $testroot/numbers.diff $testroot/stdout
411 33aa809d 2019-08-08 stsp ret="$?"
412 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
413 33aa809d 2019-08-08 stsp diff -u $testroot/numbers.diff $testroot/stdout
414 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
415 33aa809d 2019-08-08 stsp return 1
416 33aa809d 2019-08-08 stsp fi
417 33aa809d 2019-08-08 stsp
418 33aa809d 2019-08-08 stsp # revert middle hunk
419 33aa809d 2019-08-08 stsp printf "n\ny\nn\n" > $testroot/patchscript
420 33aa809d 2019-08-08 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
421 33aa809d 2019-08-08 stsp numbers > $testroot/stdout)
422 33aa809d 2019-08-08 stsp
423 33aa809d 2019-08-08 stsp cat > $testroot/stdout.expected <<EOF
424 33aa809d 2019-08-08 stsp -----------------------------------------------
425 33aa809d 2019-08-08 stsp @@ -1,5 +1,5 @@
426 33aa809d 2019-08-08 stsp 1
427 33aa809d 2019-08-08 stsp -2
428 33aa809d 2019-08-08 stsp +a
429 33aa809d 2019-08-08 stsp 3
430 33aa809d 2019-08-08 stsp 4
431 33aa809d 2019-08-08 stsp 5
432 33aa809d 2019-08-08 stsp -----------------------------------------------
433 33aa809d 2019-08-08 stsp M numbers (change 1 of 3)
434 33aa809d 2019-08-08 stsp revert this change? [y/n/q] n
435 33aa809d 2019-08-08 stsp -----------------------------------------------
436 33aa809d 2019-08-08 stsp @@ -4,7 +4,7 @@
437 33aa809d 2019-08-08 stsp 4
438 33aa809d 2019-08-08 stsp 5
439 33aa809d 2019-08-08 stsp 6
440 33aa809d 2019-08-08 stsp -7
441 33aa809d 2019-08-08 stsp +b
442 33aa809d 2019-08-08 stsp 8
443 33aa809d 2019-08-08 stsp 9
444 33aa809d 2019-08-08 stsp 10
445 33aa809d 2019-08-08 stsp -----------------------------------------------
446 33aa809d 2019-08-08 stsp M numbers (change 2 of 3)
447 33aa809d 2019-08-08 stsp revert this change? [y/n/q] y
448 33aa809d 2019-08-08 stsp -----------------------------------------------
449 33aa809d 2019-08-08 stsp @@ -13,4 +13,4 @@
450 33aa809d 2019-08-08 stsp 13
451 33aa809d 2019-08-08 stsp 14
452 33aa809d 2019-08-08 stsp 15
453 33aa809d 2019-08-08 stsp -16
454 33aa809d 2019-08-08 stsp +c
455 33aa809d 2019-08-08 stsp -----------------------------------------------
456 33aa809d 2019-08-08 stsp M numbers (change 3 of 3)
457 33aa809d 2019-08-08 stsp revert this change? [y/n/q] n
458 33aa809d 2019-08-08 stsp EOF
459 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
460 33aa809d 2019-08-08 stsp ret="$?"
461 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
462 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
463 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
464 33aa809d 2019-08-08 stsp return 1
465 33aa809d 2019-08-08 stsp fi
466 33aa809d 2019-08-08 stsp
467 33aa809d 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
468 33aa809d 2019-08-08 stsp echo "M numbers" > $testroot/stdout.expected
469 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
470 33aa809d 2019-08-08 stsp ret="$?"
471 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
472 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
473 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
474 33aa809d 2019-08-08 stsp return 1
475 33aa809d 2019-08-08 stsp fi
476 33aa809d 2019-08-08 stsp
477 33aa809d 2019-08-08 stsp (cd $testroot/wt && got diff > $testroot/stdout)
478 33aa809d 2019-08-08 stsp
479 33aa809d 2019-08-08 stsp echo "diff $commit_id $testroot/wt" > $testroot/stdout.expected
480 33aa809d 2019-08-08 stsp echo -n 'blob - ' >> $testroot/stdout.expected
481 33aa809d 2019-08-08 stsp got tree -r $testroot/repo -i -c $commit_id \
482 33aa809d 2019-08-08 stsp | grep 'numbers$' | cut -d' ' -f 1 \
483 33aa809d 2019-08-08 stsp >> $testroot/stdout.expected
484 33aa809d 2019-08-08 stsp echo 'file + numbers' >> $testroot/stdout.expected
485 33aa809d 2019-08-08 stsp cat >> $testroot/stdout.expected <<EOF
486 33aa809d 2019-08-08 stsp --- numbers
487 33aa809d 2019-08-08 stsp +++ numbers
488 33aa809d 2019-08-08 stsp @@ -1,5 +1,5 @@
489 33aa809d 2019-08-08 stsp 1
490 33aa809d 2019-08-08 stsp -2
491 33aa809d 2019-08-08 stsp +a
492 33aa809d 2019-08-08 stsp 3
493 33aa809d 2019-08-08 stsp 4
494 33aa809d 2019-08-08 stsp 5
495 33aa809d 2019-08-08 stsp @@ -13,4 +13,4 @@
496 33aa809d 2019-08-08 stsp 13
497 33aa809d 2019-08-08 stsp 14
498 33aa809d 2019-08-08 stsp 15
499 33aa809d 2019-08-08 stsp -16
500 33aa809d 2019-08-08 stsp +c
501 33aa809d 2019-08-08 stsp EOF
502 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
503 33aa809d 2019-08-08 stsp ret="$?"
504 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
505 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
506 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
507 33aa809d 2019-08-08 stsp return 1
508 0f6d7415 2019-08-08 stsp fi
509 33aa809d 2019-08-08 stsp
510 33aa809d 2019-08-08 stsp # revert last hunk
511 33aa809d 2019-08-08 stsp printf "n\ny\n" > $testroot/patchscript
512 33aa809d 2019-08-08 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
513 33aa809d 2019-08-08 stsp numbers > $testroot/stdout)
514 33aa809d 2019-08-08 stsp cat > $testroot/stdout.expected <<EOF
515 33aa809d 2019-08-08 stsp -----------------------------------------------
516 33aa809d 2019-08-08 stsp @@ -1,5 +1,5 @@
517 33aa809d 2019-08-08 stsp 1
518 33aa809d 2019-08-08 stsp -2
519 33aa809d 2019-08-08 stsp +a
520 33aa809d 2019-08-08 stsp 3
521 33aa809d 2019-08-08 stsp 4
522 33aa809d 2019-08-08 stsp 5
523 33aa809d 2019-08-08 stsp -----------------------------------------------
524 33aa809d 2019-08-08 stsp M numbers (change 1 of 2)
525 33aa809d 2019-08-08 stsp revert this change? [y/n/q] n
526 33aa809d 2019-08-08 stsp -----------------------------------------------
527 33aa809d 2019-08-08 stsp @@ -13,4 +13,4 @@
528 33aa809d 2019-08-08 stsp 13
529 33aa809d 2019-08-08 stsp 14
530 33aa809d 2019-08-08 stsp 15
531 33aa809d 2019-08-08 stsp -16
532 33aa809d 2019-08-08 stsp +c
533 33aa809d 2019-08-08 stsp -----------------------------------------------
534 33aa809d 2019-08-08 stsp M numbers (change 2 of 2)
535 33aa809d 2019-08-08 stsp revert this change? [y/n/q] y
536 33aa809d 2019-08-08 stsp EOF
537 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
538 33aa809d 2019-08-08 stsp ret="$?"
539 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
540 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
541 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
542 33aa809d 2019-08-08 stsp return 1
543 33aa809d 2019-08-08 stsp fi
544 33aa809d 2019-08-08 stsp
545 33aa809d 2019-08-08 stsp (cd $testroot/wt && got diff > $testroot/stdout)
546 33aa809d 2019-08-08 stsp
547 33aa809d 2019-08-08 stsp echo "diff $commit_id $testroot/wt" > $testroot/stdout.expected
548 33aa809d 2019-08-08 stsp echo -n 'blob - ' >> $testroot/stdout.expected
549 33aa809d 2019-08-08 stsp got tree -r $testroot/repo -i -c $commit_id \
550 33aa809d 2019-08-08 stsp | grep 'numbers$' | cut -d' ' -f 1 \
551 33aa809d 2019-08-08 stsp >> $testroot/stdout.expected
552 33aa809d 2019-08-08 stsp echo 'file + numbers' >> $testroot/stdout.expected
553 33aa809d 2019-08-08 stsp cat >> $testroot/stdout.expected <<EOF
554 33aa809d 2019-08-08 stsp --- numbers
555 33aa809d 2019-08-08 stsp +++ numbers
556 33aa809d 2019-08-08 stsp @@ -1,5 +1,5 @@
557 33aa809d 2019-08-08 stsp 1
558 33aa809d 2019-08-08 stsp -2
559 33aa809d 2019-08-08 stsp +a
560 33aa809d 2019-08-08 stsp 3
561 33aa809d 2019-08-08 stsp 4
562 33aa809d 2019-08-08 stsp 5
563 33aa809d 2019-08-08 stsp EOF
564 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
565 33aa809d 2019-08-08 stsp ret="$?"
566 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
567 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
568 33aa809d 2019-08-08 stsp fi
569 1f1abb7e 2019-08-08 stsp test_done "$testroot" "$ret"
570 33aa809d 2019-08-08 stsp }
571 0f6d7415 2019-08-08 stsp
572 33aa809d 2019-08-08 stsp function test_revert_patch_added {
573 33aa809d 2019-08-08 stsp local testroot=`test_init revert_patch_added`
574 33aa809d 2019-08-08 stsp local commit_id=`git_show_head $testroot/repo`
575 33aa809d 2019-08-08 stsp
576 33aa809d 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
577 33aa809d 2019-08-08 stsp ret="$?"
578 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
579 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
580 33aa809d 2019-08-08 stsp return 1
581 33aa809d 2019-08-08 stsp fi
582 33aa809d 2019-08-08 stsp
583 33aa809d 2019-08-08 stsp echo "new" > $testroot/wt/epsilon/new
584 33aa809d 2019-08-08 stsp (cd $testroot/wt && got add epsilon/new > /dev/null)
585 33aa809d 2019-08-08 stsp
586 33aa809d 2019-08-08 stsp printf "n\n" > $testroot/patchscript
587 33aa809d 2019-08-08 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
588 33aa809d 2019-08-08 stsp epsilon/new > $testroot/stdout)
589 33aa809d 2019-08-08 stsp
590 33aa809d 2019-08-08 stsp echo "A epsilon/new" > $testroot/stdout.expected
591 33aa809d 2019-08-08 stsp echo "revert this addition? [y/n] n" >> $testroot/stdout.expected
592 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
593 33aa809d 2019-08-08 stsp ret="$?"
594 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
595 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
596 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
597 33aa809d 2019-08-08 stsp return 1
598 33aa809d 2019-08-08 stsp fi
599 33aa809d 2019-08-08 stsp
600 33aa809d 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
601 33aa809d 2019-08-08 stsp echo "A epsilon/new" > $testroot/stdout.expected
602 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
603 33aa809d 2019-08-08 stsp ret="$?"
604 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
605 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
606 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
607 33aa809d 2019-08-08 stsp return 1
608 33aa809d 2019-08-08 stsp fi
609 33aa809d 2019-08-08 stsp
610 33aa809d 2019-08-08 stsp printf "y\n" > $testroot/patchscript
611 33aa809d 2019-08-08 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
612 33aa809d 2019-08-08 stsp epsilon/new > $testroot/stdout)
613 33aa809d 2019-08-08 stsp
614 33aa809d 2019-08-08 stsp echo "A epsilon/new" > $testroot/stdout.expected
615 33aa809d 2019-08-08 stsp echo "revert this addition? [y/n] y" >> $testroot/stdout.expected
616 33aa809d 2019-08-08 stsp echo "R epsilon/new" >> $testroot/stdout.expected
617 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
618 33aa809d 2019-08-08 stsp ret="$?"
619 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
620 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
621 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
622 33aa809d 2019-08-08 stsp return 1
623 33aa809d 2019-08-08 stsp fi
624 33aa809d 2019-08-08 stsp
625 33aa809d 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
626 33aa809d 2019-08-08 stsp echo "? epsilon/new" > $testroot/stdout.expected
627 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
628 33aa809d 2019-08-08 stsp ret="$?"
629 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
630 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
631 33aa809d 2019-08-08 stsp fi
632 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
633 1f1abb7e 2019-08-08 stsp }
634 1f1abb7e 2019-08-08 stsp
635 33aa809d 2019-08-08 stsp function test_revert_patch_removed {
636 33aa809d 2019-08-08 stsp local testroot=`test_init revert_patch_removed`
637 33aa809d 2019-08-08 stsp local commit_id=`git_show_head $testroot/repo`
638 33aa809d 2019-08-08 stsp
639 33aa809d 2019-08-08 stsp got checkout $testroot/repo $testroot/wt > /dev/null
640 33aa809d 2019-08-08 stsp ret="$?"
641 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
642 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
643 33aa809d 2019-08-08 stsp return 1
644 33aa809d 2019-08-08 stsp fi
645 33aa809d 2019-08-08 stsp
646 33aa809d 2019-08-08 stsp (cd $testroot/wt && got rm beta > /dev/null)
647 33aa809d 2019-08-08 stsp
648 33aa809d 2019-08-08 stsp printf "n\n" > $testroot/patchscript
649 33aa809d 2019-08-08 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
650 33aa809d 2019-08-08 stsp beta > $testroot/stdout)
651 33aa809d 2019-08-08 stsp echo "D beta" > $testroot/stdout.expected
652 33aa809d 2019-08-08 stsp echo "revert this deletion? [y/n] n" >> $testroot/stdout.expected
653 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
654 33aa809d 2019-08-08 stsp ret="$?"
655 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
656 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
657 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
658 33aa809d 2019-08-08 stsp return 1
659 33aa809d 2019-08-08 stsp fi
660 33aa809d 2019-08-08 stsp
661 33aa809d 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
662 33aa809d 2019-08-08 stsp echo "D beta" > $testroot/stdout.expected
663 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
664 33aa809d 2019-08-08 stsp ret="$?"
665 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
666 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
667 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
668 33aa809d 2019-08-08 stsp return 1
669 33aa809d 2019-08-08 stsp fi
670 33aa809d 2019-08-08 stsp
671 33aa809d 2019-08-08 stsp printf "y\n" > $testroot/patchscript
672 33aa809d 2019-08-08 stsp (cd $testroot/wt && got revert -F $testroot/patchscript -p \
673 33aa809d 2019-08-08 stsp beta > $testroot/stdout)
674 33aa809d 2019-08-08 stsp
675 33aa809d 2019-08-08 stsp echo "D beta" > $testroot/stdout.expected
676 33aa809d 2019-08-08 stsp echo "revert this deletion? [y/n] y" >> $testroot/stdout.expected
677 33aa809d 2019-08-08 stsp echo "R beta" >> $testroot/stdout.expected
678 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
679 33aa809d 2019-08-08 stsp ret="$?"
680 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
681 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
682 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
683 33aa809d 2019-08-08 stsp return 1
684 33aa809d 2019-08-08 stsp fi
685 33aa809d 2019-08-08 stsp
686 33aa809d 2019-08-08 stsp (cd $testroot/wt && got status > $testroot/stdout)
687 33aa809d 2019-08-08 stsp echo -n > $testroot/stdout.expected
688 33aa809d 2019-08-08 stsp cmp -s $testroot/stdout.expected $testroot/stdout
689 33aa809d 2019-08-08 stsp ret="$?"
690 33aa809d 2019-08-08 stsp if [ "$ret" != "0" ]; then
691 33aa809d 2019-08-08 stsp diff -u $testroot/stdout.expected $testroot/stdout
692 33aa809d 2019-08-08 stsp fi
693 33aa809d 2019-08-08 stsp test_done "$testroot" "$ret"
694 33aa809d 2019-08-08 stsp }
695 33aa809d 2019-08-08 stsp
696 a129376b 2019-03-28 stsp run_test test_revert_basic
697 a129376b 2019-03-28 stsp run_test test_revert_rm
698 a129376b 2019-03-28 stsp run_test test_revert_add
699 e20a8b6f 2019-06-04 stsp run_test test_revert_multiple
700 a9fa2909 2019-07-27 stsp run_test test_revert_file_in_new_subdir
701 1f1abb7e 2019-08-08 stsp run_test test_revert_no_arguments
702 0f6d7415 2019-08-08 stsp run_test test_revert_directory
703 33aa809d 2019-08-08 stsp run_test test_revert_patch
704 33aa809d 2019-08-08 stsp run_test test_revert_patch_added
705 33aa809d 2019-08-08 stsp run_test test_revert_patch_removed