##// END OF EJS Templates
test-bisect: adapt for Windows
Adrian Buehlmann -
r16960:be64115b default
parent child Browse files
Show More
@@ -1,512 +1,510 b''
1 $ "$TESTDIR/hghave" system-sh || exit 80
2
3 1 $ hg init
4 2
5 3
6 4 committing changes
7 5
8 6 $ count=0
9 7 $ echo > a
10 8 $ while test $count -lt 32 ; do
11 9 > echo 'a' >> a
12 10 > test $count -eq 0 && hg add
13 11 > hg ci -m "msg $count" -d "$count 0"
14 12 > count=`expr $count + 1`
15 13 > done
16 14 adding a
17 15
18 16
19 17 $ hg log
20 18 changeset: 31:58c80a7c8a40
21 19 tag: tip
22 20 user: test
23 21 date: Thu Jan 01 00:00:31 1970 +0000
24 22 summary: msg 31
25 23
26 24 changeset: 30:ed2d2f24b11c
27 25 user: test
28 26 date: Thu Jan 01 00:00:30 1970 +0000
29 27 summary: msg 30
30 28
31 29 changeset: 29:b5bd63375ab9
32 30 user: test
33 31 date: Thu Jan 01 00:00:29 1970 +0000
34 32 summary: msg 29
35 33
36 34 changeset: 28:8e0c2264c8af
37 35 user: test
38 36 date: Thu Jan 01 00:00:28 1970 +0000
39 37 summary: msg 28
40 38
41 39 changeset: 27:288867a866e9
42 40 user: test
43 41 date: Thu Jan 01 00:00:27 1970 +0000
44 42 summary: msg 27
45 43
46 44 changeset: 26:3efc6fd51aeb
47 45 user: test
48 46 date: Thu Jan 01 00:00:26 1970 +0000
49 47 summary: msg 26
50 48
51 49 changeset: 25:02a84173a97a
52 50 user: test
53 51 date: Thu Jan 01 00:00:25 1970 +0000
54 52 summary: msg 25
55 53
56 54 changeset: 24:10e0acd3809e
57 55 user: test
58 56 date: Thu Jan 01 00:00:24 1970 +0000
59 57 summary: msg 24
60 58
61 59 changeset: 23:5ec79163bff4
62 60 user: test
63 61 date: Thu Jan 01 00:00:23 1970 +0000
64 62 summary: msg 23
65 63
66 64 changeset: 22:06c7993750ce
67 65 user: test
68 66 date: Thu Jan 01 00:00:22 1970 +0000
69 67 summary: msg 22
70 68
71 69 changeset: 21:e5db6aa3fe2a
72 70 user: test
73 71 date: Thu Jan 01 00:00:21 1970 +0000
74 72 summary: msg 21
75 73
76 74 changeset: 20:7128fb4fdbc9
77 75 user: test
78 76 date: Thu Jan 01 00:00:20 1970 +0000
79 77 summary: msg 20
80 78
81 79 changeset: 19:52798545b482
82 80 user: test
83 81 date: Thu Jan 01 00:00:19 1970 +0000
84 82 summary: msg 19
85 83
86 84 changeset: 18:86977a90077e
87 85 user: test
88 86 date: Thu Jan 01 00:00:18 1970 +0000
89 87 summary: msg 18
90 88
91 89 changeset: 17:03515f4a9080
92 90 user: test
93 91 date: Thu Jan 01 00:00:17 1970 +0000
94 92 summary: msg 17
95 93
96 94 changeset: 16:a2e6ea4973e9
97 95 user: test
98 96 date: Thu Jan 01 00:00:16 1970 +0000
99 97 summary: msg 16
100 98
101 99 changeset: 15:e7fa0811edb0
102 100 user: test
103 101 date: Thu Jan 01 00:00:15 1970 +0000
104 102 summary: msg 15
105 103
106 104 changeset: 14:ce8f0998e922
107 105 user: test
108 106 date: Thu Jan 01 00:00:14 1970 +0000
109 107 summary: msg 14
110 108
111 109 changeset: 13:9d7d07bc967c
112 110 user: test
113 111 date: Thu Jan 01 00:00:13 1970 +0000
114 112 summary: msg 13
115 113
116 114 changeset: 12:1941b52820a5
117 115 user: test
118 116 date: Thu Jan 01 00:00:12 1970 +0000
119 117 summary: msg 12
120 118
121 119 changeset: 11:7b4cd9578619
122 120 user: test
123 121 date: Thu Jan 01 00:00:11 1970 +0000
124 122 summary: msg 11
125 123
126 124 changeset: 10:7c5eff49a6b6
127 125 user: test
128 126 date: Thu Jan 01 00:00:10 1970 +0000
129 127 summary: msg 10
130 128
131 129 changeset: 9:eb44510ef29a
132 130 user: test
133 131 date: Thu Jan 01 00:00:09 1970 +0000
134 132 summary: msg 9
135 133
136 134 changeset: 8:453eb4dba229
137 135 user: test
138 136 date: Thu Jan 01 00:00:08 1970 +0000
139 137 summary: msg 8
140 138
141 139 changeset: 7:03750880c6b5
142 140 user: test
143 141 date: Thu Jan 01 00:00:07 1970 +0000
144 142 summary: msg 7
145 143
146 144 changeset: 6:a3d5c6fdf0d3
147 145 user: test
148 146 date: Thu Jan 01 00:00:06 1970 +0000
149 147 summary: msg 6
150 148
151 149 changeset: 5:7874a09ea728
152 150 user: test
153 151 date: Thu Jan 01 00:00:05 1970 +0000
154 152 summary: msg 5
155 153
156 154 changeset: 4:9b2ba8336a65
157 155 user: test
158 156 date: Thu Jan 01 00:00:04 1970 +0000
159 157 summary: msg 4
160 158
161 159 changeset: 3:b53bea5e2fcb
162 160 user: test
163 161 date: Thu Jan 01 00:00:03 1970 +0000
164 162 summary: msg 3
165 163
166 164 changeset: 2:db07c04beaca
167 165 user: test
168 166 date: Thu Jan 01 00:00:02 1970 +0000
169 167 summary: msg 2
170 168
171 169 changeset: 1:5cd978ea5149
172 170 user: test
173 171 date: Thu Jan 01 00:00:01 1970 +0000
174 172 summary: msg 1
175 173
176 174 changeset: 0:b99c7b9c8e11
177 175 user: test
178 176 date: Thu Jan 01 00:00:00 1970 +0000
179 177 summary: msg 0
180 178
181 179
182 180 $ hg up -C
183 181 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
184 182
185 183 bisect test
186 184
187 185 $ hg bisect -r
188 186 $ hg bisect -b
189 187 $ hg bisect -g 1
190 188 Testing changeset 16:a2e6ea4973e9 (30 changesets remaining, ~4 tests)
191 189 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
192 190 $ hg bisect -g
193 191 Testing changeset 23:5ec79163bff4 (15 changesets remaining, ~3 tests)
194 192 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
195 193
196 194 skip
197 195
198 196 $ hg bisect -s
199 197 Testing changeset 24:10e0acd3809e (15 changesets remaining, ~3 tests)
200 198 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
201 199 $ hg bisect -g
202 200 Testing changeset 27:288867a866e9 (7 changesets remaining, ~2 tests)
203 201 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
204 202 $ hg bisect -g
205 203 Testing changeset 29:b5bd63375ab9 (4 changesets remaining, ~2 tests)
206 204 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
207 205 $ hg bisect -b
208 206 Testing changeset 28:8e0c2264c8af (2 changesets remaining, ~1 tests)
209 207 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
210 208 $ hg bisect -g
211 209 The first bad revision is:
212 210 changeset: 29:b5bd63375ab9
213 211 user: test
214 212 date: Thu Jan 01 00:00:29 1970 +0000
215 213 summary: msg 29
216 214
217 215
218 216 mark revsets instead of single revs
219 217
220 218 $ hg bisect -r
221 219 $ hg bisect -b "0::3"
222 220 $ hg bisect -s "13::16"
223 221 $ hg bisect -g "26::tip"
224 222 Testing changeset 12:1941b52820a5 (23 changesets remaining, ~4 tests)
225 223 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
226 224 $ cat .hg/bisect.state
227 225 current 1941b52820a544549596820a8ae006842b0e2c64
228 226 skip 9d7d07bc967ca98ad0600c24953fd289ad5fa991
229 227 skip ce8f0998e922c179e80819d5066fbe46e2998784
230 228 skip e7fa0811edb063f6319531f0d0a865882138e180
231 229 skip a2e6ea4973e9196ddd3386493b0c214b41fd97d3
232 230 bad b99c7b9c8e11558adef3fad9af211c58d46f325b
233 231 bad 5cd978ea51499179507ee7b6f340d2dbaa401185
234 232 bad db07c04beaca44cf24832541e7f4a2346a95275b
235 233 bad b53bea5e2fcb30d3e00bd3409507a5659ce0fd8b
236 234 good 3efc6fd51aeb8594398044c6c846ca59ae021203
237 235 good 288867a866e9adb7a29880b66936c874b80f4651
238 236 good 8e0c2264c8af790daf3585ada0669d93dee09c83
239 237 good b5bd63375ab9a290419f2024b7f4ee9ea7ce90a8
240 238 good ed2d2f24b11c368fa8aa0da9f4e1db580abade59
241 239 good 58c80a7c8a4025a94cedaf7b4a4e3124e8909a96
242 240
243 241 bisect reverse test
244 242
245 243 $ hg bisect -r
246 244 $ hg bisect -b null
247 245 $ hg bisect -g tip
248 246 Testing changeset 15:e7fa0811edb0 (32 changesets remaining, ~5 tests)
249 247 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
250 248 $ hg bisect -g
251 249 Testing changeset 7:03750880c6b5 (16 changesets remaining, ~4 tests)
252 250 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
253 251
254 252 skip
255 253
256 254 $ hg bisect -s
257 255 Testing changeset 6:a3d5c6fdf0d3 (16 changesets remaining, ~4 tests)
258 256 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
259 257 $ hg bisect -g
260 258 Testing changeset 2:db07c04beaca (7 changesets remaining, ~2 tests)
261 259 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
262 260 $ hg bisect -g
263 261 Testing changeset 0:b99c7b9c8e11 (3 changesets remaining, ~1 tests)
264 262 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
265 263 $ hg bisect -b
266 264 Testing changeset 1:5cd978ea5149 (2 changesets remaining, ~1 tests)
267 265 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
268 266 $ hg bisect -g
269 267 The first good revision is:
270 268 changeset: 1:5cd978ea5149
271 269 user: test
272 270 date: Thu Jan 01 00:00:01 1970 +0000
273 271 summary: msg 1
274 272
275 273
276 274 $ hg bisect -r
277 275 $ hg bisect -g tip
278 276 $ hg bisect -b tip
279 277 abort: starting revisions are not directly related
280 278 [255]
281 279
282 280 $ hg bisect -r
283 281 $ hg bisect -g null
284 282 $ hg bisect -bU tip
285 283 Testing changeset 15:e7fa0811edb0 (32 changesets remaining, ~5 tests)
286 284 $ hg id
287 285 5cd978ea5149
288 286
289 287
290 288 Issue1228: hg bisect crashes when you skip the last rev in bisection
291 289 Issue1182: hg bisect exception
292 290
293 291 $ hg bisect -r
294 292 $ hg bisect -b 4
295 293 $ hg bisect -g 0
296 294 Testing changeset 2:db07c04beaca (4 changesets remaining, ~2 tests)
297 295 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
298 296 $ hg bisect -s
299 297 Testing changeset 1:5cd978ea5149 (4 changesets remaining, ~2 tests)
300 298 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
301 299 $ hg bisect -s
302 300 Testing changeset 3:b53bea5e2fcb (4 changesets remaining, ~2 tests)
303 301 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
304 302 $ hg bisect -s
305 303 Due to skipped revisions, the first bad revision could be any of:
306 304 changeset: 1:5cd978ea5149
307 305 user: test
308 306 date: Thu Jan 01 00:00:01 1970 +0000
309 307 summary: msg 1
310 308
311 309 changeset: 2:db07c04beaca
312 310 user: test
313 311 date: Thu Jan 01 00:00:02 1970 +0000
314 312 summary: msg 2
315 313
316 314 changeset: 3:b53bea5e2fcb
317 315 user: test
318 316 date: Thu Jan 01 00:00:03 1970 +0000
319 317 summary: msg 3
320 318
321 319 changeset: 4:9b2ba8336a65
322 320 user: test
323 321 date: Thu Jan 01 00:00:04 1970 +0000
324 322 summary: msg 4
325 323
326 324
327 325
328 326 reproduce non converging bisect, issue1182
329 327
330 328 $ hg bisect -r
331 329 $ hg bisect -g 0
332 330 $ hg bisect -b 2
333 331 Testing changeset 1:5cd978ea5149 (2 changesets remaining, ~1 tests)
334 332 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
335 333 $ hg bisect -s
336 334 Due to skipped revisions, the first bad revision could be any of:
337 335 changeset: 1:5cd978ea5149
338 336 user: test
339 337 date: Thu Jan 01 00:00:01 1970 +0000
340 338 summary: msg 1
341 339
342 340 changeset: 2:db07c04beaca
343 341 user: test
344 342 date: Thu Jan 01 00:00:02 1970 +0000
345 343 summary: msg 2
346 344
347 345
348 346
349 347 test no action
350 348
351 349 $ hg bisect -r
352 350 $ hg bisect
353 351 abort: cannot bisect (no known good revisions)
354 352 [255]
355 353
356 354
357 355 reproduce AssertionError, issue1445
358 356
359 357 $ hg bisect -r
360 358 $ hg bisect -b 6
361 359 $ hg bisect -g 0
362 360 Testing changeset 3:b53bea5e2fcb (6 changesets remaining, ~2 tests)
363 361 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
364 362 $ hg bisect -s
365 363 Testing changeset 2:db07c04beaca (6 changesets remaining, ~2 tests)
366 364 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
367 365 $ hg bisect -s
368 366 Testing changeset 4:9b2ba8336a65 (6 changesets remaining, ~2 tests)
369 367 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
370 368 $ hg bisect -s
371 369 Testing changeset 1:5cd978ea5149 (6 changesets remaining, ~2 tests)
372 370 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
373 371 $ hg bisect -s
374 372 Testing changeset 5:7874a09ea728 (6 changesets remaining, ~2 tests)
375 373 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
376 374 $ hg bisect -g
377 375 The first bad revision is:
378 376 changeset: 6:a3d5c6fdf0d3
379 377 user: test
380 378 date: Thu Jan 01 00:00:06 1970 +0000
381 379 summary: msg 6
382 380
383 381 $ hg log -r "bisect(good)"
384 382 changeset: 0:b99c7b9c8e11
385 383 user: test
386 384 date: Thu Jan 01 00:00:00 1970 +0000
387 385 summary: msg 0
388 386
389 387 changeset: 5:7874a09ea728
390 388 user: test
391 389 date: Thu Jan 01 00:00:05 1970 +0000
392 390 summary: msg 5
393 391
394 392 $ hg log -r "bisect(bad)"
395 393 changeset: 6:a3d5c6fdf0d3
396 394 user: test
397 395 date: Thu Jan 01 00:00:06 1970 +0000
398 396 summary: msg 6
399 397
400 398 $ hg log -r "bisect(current)"
401 399 changeset: 5:7874a09ea728
402 400 user: test
403 401 date: Thu Jan 01 00:00:05 1970 +0000
404 402 summary: msg 5
405 403
406 404 $ hg log -r "bisect(skip)"
407 405 changeset: 1:5cd978ea5149
408 406 user: test
409 407 date: Thu Jan 01 00:00:01 1970 +0000
410 408 summary: msg 1
411 409
412 410 changeset: 2:db07c04beaca
413 411 user: test
414 412 date: Thu Jan 01 00:00:02 1970 +0000
415 413 summary: msg 2
416 414
417 415 changeset: 3:b53bea5e2fcb
418 416 user: test
419 417 date: Thu Jan 01 00:00:03 1970 +0000
420 418 summary: msg 3
421 419
422 420 changeset: 4:9b2ba8336a65
423 421 user: test
424 422 date: Thu Jan 01 00:00:04 1970 +0000
425 423 summary: msg 4
426 424
427 425
428 426 test legacy bisected() keyword
429 427
430 428 $ hg log -r "bisected(bad)"
431 429 changeset: 6:a3d5c6fdf0d3
432 430 user: test
433 431 date: Thu Jan 01 00:00:06 1970 +0000
434 432 summary: msg 6
435 433
436 434
437 435 $ set +e
438 436
439 437 test invalid command
440 438 assuming that the shell returns 127 if command not found ...
441 439
442 440 $ hg bisect -r
443 441 $ hg bisect --command 'exit 127'
444 442 abort: failed to execute exit 127
445 443 [255]
446 444
447 445
448 446 test bisecting command
449 447
450 448 $ cat > script.py <<EOF
451 449 > #!/usr/bin/env python
452 450 > import sys
453 451 > from mercurial import ui, hg
454 452 > repo = hg.repository(ui.ui(), '.')
455 453 > if repo['.'].rev() < 6:
456 454 > sys.exit(1)
457 455 > EOF
458 456 $ chmod +x script.py
459 457 $ hg bisect -r
460 458 $ hg bisect --good tip
461 459 $ hg bisect --bad 0
462 460 Testing changeset 15:e7fa0811edb0 (31 changesets remaining, ~4 tests)
463 461 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
464 $ hg bisect --command "'`pwd`/script.py' and some parameters"
462 $ hg bisect --command "python \"$TESTTMP/script.py\" and some parameters"
465 463 changeset 15:e7fa0811edb0: good
466 464 changeset 7:03750880c6b5: good
467 465 changeset 3:b53bea5e2fcb: bad
468 466 changeset 5:7874a09ea728: bad
469 467 changeset 6:a3d5c6fdf0d3: good
470 468 The first good revision is:
471 469 changeset: 6:a3d5c6fdf0d3
472 470 user: test
473 471 date: Thu Jan 01 00:00:06 1970 +0000
474 472 summary: msg 6
475 473
476 474
477 475
478 476 test bisecting via a command without updating the working dir, and
479 477 ensure that the bisect state file is updated before running a test
480 478 command
481 479
482 480 $ hg update null
483 481 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
484 482 $ cat > script.sh <<'EOF'
485 483 > #!/bin/sh
486 484 > test -n "$HG_NODE" || (echo HG_NODE missing; exit 127)
487 485 > current="`hg log -r \"bisect(current)\" --template {node}`"
488 486 > test "$current" = "$HG_NODE" || (echo current is bad: $current; exit 127)
489 487 > rev="`hg log -r $HG_NODE --template {rev}`"
490 488 > test "$rev" -ge 6
491 489 > EOF
492 490 $ chmod +x script.sh
493 491 $ hg bisect -r
494 492 $ hg bisect --good tip --noupdate
495 493 $ hg bisect --bad 0 --noupdate
496 494 Testing changeset 15:e7fa0811edb0 (31 changesets remaining, ~4 tests)
497 $ hg bisect --command "'`pwd`/script.sh' and some params" --noupdate
495 $ hg bisect --command "sh \"$TESTTMP/script.sh\" and some params" --noupdate
498 496 changeset 15:e7fa0811edb0: good
499 497 changeset 7:03750880c6b5: good
500 498 changeset 3:b53bea5e2fcb: bad
501 499 changeset 5:7874a09ea728: bad
502 500 changeset 6:a3d5c6fdf0d3: good
503 501 The first good revision is:
504 502 changeset: 6:a3d5c6fdf0d3
505 503 user: test
506 504 date: Thu Jan 01 00:00:06 1970 +0000
507 505 summary: msg 6
508 506
509 507
510 508 ensure that we still don't have a working dir
511 509
512 510 $ hg parents
General Comments 0
You need to be logged in to leave comments. Login now