##// END OF EJS Templates
tests: convert test-bisect
Nicolas Dumazet -
r12094:1db76910 default
parent child Browse files
Show More
@@ -1,107 +1,395 b''
1 #!/bin/sh
1 $ set -e
2 $ hg init
2
3
3 set -e
4
4
5 echo % init
5 committing changes
6 hg init
7
6
8 echo % committing changes
7 $ count=0
9 count=0
8 $ echo > a
10 echo > a
9 $ while test $count -lt 32 ; do
11 while test $count -lt 32 ; do
10 > echo 'a' >> a
12 echo 'a' >> a
11 > test $count -eq 0 && hg add
13 test $count -eq 0 && hg add
12 > hg ci -m "msg $count" -d "$count 0"
14 hg ci -m "msg $count" -d "$count 0"
13 > count=`expr $count + 1`
15 echo % committed changeset $count
14 > done
16 count=`expr $count + 1`
15 adding a
17 done
18
16
19 echo % log
20 hg log
21
22 echo % hg up -C
23 hg up -C
24
17
25 echo % bisect test
18 $ hg log
26 hg bisect -r
19 changeset: 31:58c80a7c8a40
27 hg bisect -b
20 tag: tip
28 hg bisect -g 1
21 user: test
29 hg bisect -g
22 date: Thu Jan 01 00:00:31 1970 +0000
30 echo skip
23 summary: msg 31
31 hg bisect -s
24
32 hg bisect -g
25 changeset: 30:ed2d2f24b11c
33 hg bisect -g
26 user: test
34 hg bisect -b
27 date: Thu Jan 01 00:00:30 1970 +0000
35 hg bisect -g
28 summary: msg 30
29
30 changeset: 29:b5bd63375ab9
31 user: test
32 date: Thu Jan 01 00:00:29 1970 +0000
33 summary: msg 29
34
35 changeset: 28:8e0c2264c8af
36 user: test
37 date: Thu Jan 01 00:00:28 1970 +0000
38 summary: msg 28
39
40 changeset: 27:288867a866e9
41 user: test
42 date: Thu Jan 01 00:00:27 1970 +0000
43 summary: msg 27
44
45 changeset: 26:3efc6fd51aeb
46 user: test
47 date: Thu Jan 01 00:00:26 1970 +0000
48 summary: msg 26
49
50 changeset: 25:02a84173a97a
51 user: test
52 date: Thu Jan 01 00:00:25 1970 +0000
53 summary: msg 25
54
55 changeset: 24:10e0acd3809e
56 user: test
57 date: Thu Jan 01 00:00:24 1970 +0000
58 summary: msg 24
59
60 changeset: 23:5ec79163bff4
61 user: test
62 date: Thu Jan 01 00:00:23 1970 +0000
63 summary: msg 23
64
65 changeset: 22:06c7993750ce
66 user: test
67 date: Thu Jan 01 00:00:22 1970 +0000
68 summary: msg 22
69
70 changeset: 21:e5db6aa3fe2a
71 user: test
72 date: Thu Jan 01 00:00:21 1970 +0000
73 summary: msg 21
74
75 changeset: 20:7128fb4fdbc9
76 user: test
77 date: Thu Jan 01 00:00:20 1970 +0000
78 summary: msg 20
79
80 changeset: 19:52798545b482
81 user: test
82 date: Thu Jan 01 00:00:19 1970 +0000
83 summary: msg 19
84
85 changeset: 18:86977a90077e
86 user: test
87 date: Thu Jan 01 00:00:18 1970 +0000
88 summary: msg 18
89
90 changeset: 17:03515f4a9080
91 user: test
92 date: Thu Jan 01 00:00:17 1970 +0000
93 summary: msg 17
94
95 changeset: 16:a2e6ea4973e9
96 user: test
97 date: Thu Jan 01 00:00:16 1970 +0000
98 summary: msg 16
99
100 changeset: 15:e7fa0811edb0
101 user: test
102 date: Thu Jan 01 00:00:15 1970 +0000
103 summary: msg 15
104
105 changeset: 14:ce8f0998e922
106 user: test
107 date: Thu Jan 01 00:00:14 1970 +0000
108 summary: msg 14
109
110 changeset: 13:9d7d07bc967c
111 user: test
112 date: Thu Jan 01 00:00:13 1970 +0000
113 summary: msg 13
114
115 changeset: 12:1941b52820a5
116 user: test
117 date: Thu Jan 01 00:00:12 1970 +0000
118 summary: msg 12
119
120 changeset: 11:7b4cd9578619
121 user: test
122 date: Thu Jan 01 00:00:11 1970 +0000
123 summary: msg 11
124
125 changeset: 10:7c5eff49a6b6
126 user: test
127 date: Thu Jan 01 00:00:10 1970 +0000
128 summary: msg 10
129
130 changeset: 9:eb44510ef29a
131 user: test
132 date: Thu Jan 01 00:00:09 1970 +0000
133 summary: msg 9
134
135 changeset: 8:453eb4dba229
136 user: test
137 date: Thu Jan 01 00:00:08 1970 +0000
138 summary: msg 8
139
140 changeset: 7:03750880c6b5
141 user: test
142 date: Thu Jan 01 00:00:07 1970 +0000
143 summary: msg 7
144
145 changeset: 6:a3d5c6fdf0d3
146 user: test
147 date: Thu Jan 01 00:00:06 1970 +0000
148 summary: msg 6
149
150 changeset: 5:7874a09ea728
151 user: test
152 date: Thu Jan 01 00:00:05 1970 +0000
153 summary: msg 5
154
155 changeset: 4:9b2ba8336a65
156 user: test
157 date: Thu Jan 01 00:00:04 1970 +0000
158 summary: msg 4
159
160 changeset: 3:b53bea5e2fcb
161 user: test
162 date: Thu Jan 01 00:00:03 1970 +0000
163 summary: msg 3
164
165 changeset: 2:db07c04beaca
166 user: test
167 date: Thu Jan 01 00:00:02 1970 +0000
168 summary: msg 2
169
170 changeset: 1:5cd978ea5149
171 user: test
172 date: Thu Jan 01 00:00:01 1970 +0000
173 summary: msg 1
174
175 changeset: 0:b99c7b9c8e11
176 user: test
177 date: Thu Jan 01 00:00:00 1970 +0000
178 summary: msg 0
179
36
180
37 echo % bisect reverse test
181 $ hg up -C
38 hg bisect -r
182 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
39 hg bisect -b null
183
40 hg bisect -g tip
184 bisect test
41 hg bisect -g
42 echo skip
43 hg bisect -s
44 hg bisect -g
45 hg bisect -g
46 hg bisect -b
47 hg bisect -g
48
185
49 hg bisect -r
186 $ hg bisect -r
50 hg bisect -g tip
187 $ hg bisect -b
51 hg bisect -b tip || echo error
188 $ hg bisect -g 1
189 Testing changeset 16:a2e6ea4973e9 (30 changesets remaining, ~4 tests)
190 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
191 $ hg bisect -g
192 Testing changeset 23:5ec79163bff4 (15 changesets remaining, ~3 tests)
193 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
194
195 skip
52
196
53 hg bisect -r
197 $ hg bisect -s
54 hg bisect -g null
198 Testing changeset 24:10e0acd3809e (15 changesets remaining, ~3 tests)
55 hg bisect -bU tip
199 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
56 hg id
200 $ hg bisect -g
201 Testing changeset 27:288867a866e9 (7 changesets remaining, ~2 tests)
202 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
203 $ hg bisect -g
204 Testing changeset 29:b5bd63375ab9 (4 changesets remaining, ~2 tests)
205 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
206 $ hg bisect -b
207 Testing changeset 28:8e0c2264c8af (2 changesets remaining, ~1 tests)
208 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
209 $ hg bisect -g
210 The first bad revision is:
211 changeset: 29:b5bd63375ab9
212 user: test
213 date: Thu Jan 01 00:00:29 1970 +0000
214 summary: msg 29
215
216
217
218 bisect reverse test
219
220 $ hg bisect -r
221 $ hg bisect -b null
222 $ hg bisect -g tip
223 Testing changeset 15:e7fa0811edb0 (32 changesets remaining, ~5 tests)
224 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
225 $ hg bisect -g
226 Testing changeset 7:03750880c6b5 (16 changesets remaining, ~4 tests)
227 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
228
229 skip
57
230
58 echo % reproduce AssertionError, issue1228 and issue1182
231 $ hg bisect -s
59 hg bisect -r
232 Testing changeset 6:a3d5c6fdf0d3 (16 changesets remaining, ~4 tests)
60 hg bisect -b 4
233 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
61 hg bisect -g 0
234 $ hg bisect -g
62 hg bisect -s
235 Testing changeset 2:db07c04beaca (7 changesets remaining, ~2 tests)
63 hg bisect -s
236 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
64 hg bisect -s
237 $ hg bisect -g
238 Testing changeset 0:b99c7b9c8e11 (3 changesets remaining, ~1 tests)
239 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
240 $ hg bisect -b
241 Testing changeset 1:5cd978ea5149 (2 changesets remaining, ~1 tests)
242 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
243 $ hg bisect -g
244 The first good revision is:
245 changeset: 1:5cd978ea5149
246 user: test
247 date: Thu Jan 01 00:00:01 1970 +0000
248 summary: msg 1
249
65
250
66 echo % reproduce non converging bisect, issue1182
251 $ hg bisect -r
67 hg bisect -r
252 $ hg bisect -g tip
68 hg bisect -g 0
253 $ hg bisect -b tip || echo error
69 hg bisect -b 2
254 abort: starting revisions are not directly related
70 hg bisect -s
255 error
71
256
72 echo % test no action
257 $ hg bisect -r
73 hg bisect -r
258 $ hg bisect -g null
74 hg bisect || echo failure
259 $ hg bisect -bU tip
260 Testing changeset 15:e7fa0811edb0 (32 changesets remaining, ~5 tests)
261 $ hg id
262 5cd978ea5149
263
264
265 reproduce AssertionError, issue1228 and issue1182
75
266
76 echo % reproduce AssertionError, issue1445
267 $ hg bisect -r
77 hg bisect -r
268 $ hg bisect -b 4
78 hg bisect -b 6
269 $ hg bisect -g 0
79 hg bisect -g 0
270 Testing changeset 2:db07c04beaca (4 changesets remaining, ~2 tests)
80 hg bisect -s
271 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
81 hg bisect -s
272 $ hg bisect -s
82 hg bisect -s
273 Testing changeset 1:5cd978ea5149 (4 changesets remaining, ~2 tests)
83 hg bisect -s
274 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
84 hg bisect -g
275 $ hg bisect -s
276 Testing changeset 3:b53bea5e2fcb (4 changesets remaining, ~2 tests)
277 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
278 $ hg bisect -s
279 Due to skipped revisions, the first bad revision could be any of:
280 changeset: 1:5cd978ea5149
281 user: test
282 date: Thu Jan 01 00:00:01 1970 +0000
283 summary: msg 1
284
285 changeset: 2:db07c04beaca
286 user: test
287 date: Thu Jan 01 00:00:02 1970 +0000
288 summary: msg 2
289
290 changeset: 3:b53bea5e2fcb
291 user: test
292 date: Thu Jan 01 00:00:03 1970 +0000
293 summary: msg 3
294
295 changeset: 4:9b2ba8336a65
296 user: test
297 date: Thu Jan 01 00:00:04 1970 +0000
298 summary: msg 4
299
85
300
86 set +e
301
302 reproduce non converging bisect, issue1182
303
304 $ hg bisect -r
305 $ hg bisect -g 0
306 $ hg bisect -b 2
307 Testing changeset 1:5cd978ea5149 (2 changesets remaining, ~1 tests)
308 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
309 $ hg bisect -s
310 Due to skipped revisions, the first bad revision could be any of:
311 changeset: 1:5cd978ea5149
312 user: test
313 date: Thu Jan 01 00:00:01 1970 +0000
314 summary: msg 1
315
316 changeset: 2:db07c04beaca
317 user: test
318 date: Thu Jan 01 00:00:02 1970 +0000
319 summary: msg 2
320
321
322
323 test no action
324
325 $ hg bisect -r
326 $ hg bisect || echo failure
327 abort: cannot bisect (no known good revisions)
328 failure
329
87
330
88 echo % test invalid command
331 reproduce AssertionError, issue1445
89 # assuming that the shell returns 127 if command not found ...
332
90 hg bisect -r
333 $ hg bisect -r
91 hg bisect --command 'exit 127'
334 $ hg bisect -b 6
335 $ hg bisect -g 0
336 Testing changeset 3:b53bea5e2fcb (6 changesets remaining, ~2 tests)
337 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
338 $ hg bisect -s
339 Testing changeset 2:db07c04beaca (6 changesets remaining, ~2 tests)
340 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
341 $ hg bisect -s
342 Testing changeset 4:9b2ba8336a65 (6 changesets remaining, ~2 tests)
343 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
344 $ hg bisect -s
345 Testing changeset 1:5cd978ea5149 (6 changesets remaining, ~2 tests)
346 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
347 $ hg bisect -s
348 Testing changeset 5:7874a09ea728 (6 changesets remaining, ~2 tests)
349 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
350 $ hg bisect -g
351 The first bad revision is:
352 changeset: 6:a3d5c6fdf0d3
353 user: test
354 date: Thu Jan 01 00:00:06 1970 +0000
355 summary: msg 6
356
357
358 $ set +e
359
360 test invalid command
361 assuming that the shell returns 127 if command not found ...
92
362
93 echo % test bisecting command
363 $ hg bisect -r
94 cat > script.py <<EOF
364 $ hg bisect --command 'exit 127'
95 #!/usr/bin/env python
365 abort: failed to execute exit 127
96 import sys
366
97 from mercurial import ui, hg
367
98 repo = hg.repository(ui.ui(), '.')
368 test bisecting command
99 if repo['.'].rev() < 6:
369
100 sys.exit(1)
370 $ cat > script.py <<EOF
101 EOF
371 > #!/usr/bin/env python
102 chmod +x script.py
372 > import sys
103 hg bisect -r
373 > from mercurial import ui, hg
104 hg bisect --good tip
374 > repo = hg.repository(ui.ui(), '.')
105 hg bisect --bad 0
375 > if repo['.'].rev() < 6:
106 hg bisect --command "'`pwd`/script.py' and some parameters"
376 > sys.exit(1)
107 true
377 > EOF
378 $ chmod +x script.py
379 $ hg bisect -r
380 $ hg bisect --good tip
381 $ hg bisect --bad 0
382 Testing changeset 15:e7fa0811edb0 (31 changesets remaining, ~4 tests)
383 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
384 $ hg bisect --command "'`pwd`/script.py' and some parameters"
385 Changeset 15:e7fa0811edb0: good
386 Changeset 7:03750880c6b5: good
387 Changeset 3:b53bea5e2fcb: bad
388 Changeset 5:7874a09ea728: bad
389 Changeset 6:a3d5c6fdf0d3: good
390 The first good revision is:
391 changeset: 6:a3d5c6fdf0d3
392 user: test
393 date: Thu Jan 01 00:00:06 1970 +0000
394 summary: msg 6
395
1 NO CONTENT: file was removed
NO CONTENT: file was removed
General Comments 0
You need to be logged in to leave comments. Login now