comparison tests/test-bisect2.t @ 15146:b39d85be78a8

hbisect.get: use simpler code with repo.set(), fix 'pruned' set Use repo.set() wherever possible, instead of locally trying to reproduce complex graph computations. 'pruned' now means 'all csets that will no longer be visited by the bisection'. The change is done is this very patch instead of its own dedicated one becasue the code changes all over the place, and the previous 'pruned' code was totally rewritten by the cleanup, so it was easier to just change the behavior at the same time. The previous series went in too fast for this cleanup pass to be included, so here it is. ;-) Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
date Tue, 20 Sep 2011 20:19:48 +0200
parents 883d28233a4d
children 395ca8cd2669
comparison
equal deleted inserted replaced
15145:ff26712a0c50 15146:b39d85be78a8
250 $ hg bisect -r 250 $ hg bisect -r
251 $ hg bisect -g 0 251 $ hg bisect -g 0
252 $ hg bisect -b 17 # -> update to rev 6 252 $ hg bisect -b 17 # -> update to rev 6
253 Testing changeset 6:a214d5d3811a (15 changesets remaining, ~3 tests) 253 Testing changeset 6:a214d5d3811a (15 changesets remaining, ~3 tests)
254 0 files updated, 0 files merged, 2 files removed, 0 files unresolved 254 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
255 $ hg log -q -r 'bisect(pruned)'
256 0:33b1f9bc8bc5
257 17:228c06deef46
255 $ hg log -q -r 'bisect(untested)' 258 $ hg log -q -r 'bisect(untested)'
256 1:4ca5088da217 259 1:4ca5088da217
257 2:051e12f87bf1 260 2:051e12f87bf1
258 3:0950834f0a9c 261 3:0950834f0a9c
259 4:5c668c22234f 262 4:5c668c22234f
303 15:857b178a7cf3 306 15:857b178a7cf3
304 16:609d82a7ebae 307 16:609d82a7ebae
305 17:228c06deef46 308 17:228c06deef46
306 $ hg log -q -r 'bisect(pruned)' 309 $ hg log -q -r 'bisect(pruned)'
307 0:33b1f9bc8bc5 310 0:33b1f9bc8bc5
308 6:a214d5d3811a
309 8:dab8161ac8fc
310 9:3c77083deb4a
311 10:429fcd26f52d
312 13:b0a32c86eb31
313 17:228c06deef46
314 $ hg log -q -r 'bisect(untested)'
315 1:4ca5088da217 311 1:4ca5088da217
316 2:051e12f87bf1 312 2:051e12f87bf1
317 3:0950834f0a9c 313 3:0950834f0a9c
318 4:5c668c22234f 314 4:5c668c22234f
319 5:385a529b6670 315 5:385a529b6670
320 11:82ca6f06eccd 316 6:a214d5d3811a
321 12:9f259202bbe7 317 8:dab8161ac8fc
322 15:857b178a7cf3 318 9:3c77083deb4a
323 16:609d82a7ebae 319 10:429fcd26f52d
320 13:b0a32c86eb31
321 15:857b178a7cf3
322 16:609d82a7ebae
323 17:228c06deef46
324 $ hg log -q -r 'bisect(untested)'
325 11:82ca6f06eccd
326 12:9f259202bbe7
324 327
325 complex bisect test 2 # first good rev is 13 328 complex bisect test 2 # first good rev is 13
326 329
327 $ hg bisect -r 330 $ hg bisect -r
328 $ hg bisect -g 18 331 $ hg bisect -g 18
330 Testing changeset 6:a214d5d3811a (13 changesets remaining, ~3 tests) 333 Testing changeset 6:a214d5d3811a (13 changesets remaining, ~3 tests)
331 2 files updated, 0 files merged, 1 files removed, 0 files unresolved 334 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
332 $ hg bisect -s # -> update to rev 10 335 $ hg bisect -s # -> update to rev 10
333 Testing changeset 10:429fcd26f52d (13 changesets remaining, ~3 tests) 336 Testing changeset 10:429fcd26f52d (13 changesets remaining, ~3 tests)
334 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 337 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
338 $ hg log -q -r 'bisect(pruned)'
339 1:4ca5088da217
340 6:a214d5d3811a
341 18:d42e18c7bc9b
335 $ hg bisect -b # -> update to rev 12 342 $ hg bisect -b # -> update to rev 12
336 Testing changeset 12:9f259202bbe7 (5 changesets remaining, ~2 tests) 343 Testing changeset 12:9f259202bbe7 (5 changesets remaining, ~2 tests)
337 3 files updated, 0 files merged, 1 files removed, 0 files unresolved 344 3 files updated, 0 files merged, 1 files removed, 0 files unresolved
338 $ hg log -q -r 'bisect(untested)' 345 $ hg log -q -r 'bisect(pruned)'
346 1:4ca5088da217
339 2:051e12f87bf1 347 2:051e12f87bf1
340 3:0950834f0a9c 348 3:0950834f0a9c
341 4:5c668c22234f 349 4:5c668c22234f
342 5:385a529b6670 350 5:385a529b6670
343 8:dab8161ac8fc 351 6:a214d5d3811a
344 9:3c77083deb4a 352 8:dab8161ac8fc
353 9:3c77083deb4a
354 10:429fcd26f52d
355 18:d42e18c7bc9b
356 $ hg log -q -r 'bisect(untested)'
345 11:82ca6f06eccd 357 11:82ca6f06eccd
346 12:9f259202bbe7 358 12:9f259202bbe7
347 13:b0a32c86eb31 359 13:b0a32c86eb31
348 15:857b178a7cf3 360 15:857b178a7cf3
349 $ hg bisect -b # -> update to rev 13 361 $ hg bisect -b # -> update to rev 13
368 10:429fcd26f52d 380 10:429fcd26f52d
369 11:82ca6f06eccd 381 11:82ca6f06eccd
370 12:9f259202bbe7 382 12:9f259202bbe7
371 13:b0a32c86eb31 383 13:b0a32c86eb31
372 15:857b178a7cf3 384 15:857b178a7cf3
373 18:d42e18c7bc9b
374 $ hg log -q -r 'bisect(pruned)'
375 1:4ca5088da217
376 6:a214d5d3811a
377 10:429fcd26f52d
378 12:9f259202bbe7
379 13:b0a32c86eb31
380 18:d42e18c7bc9b 385 18:d42e18c7bc9b
381 386
382 complex bisect test 3 387 complex bisect test 3
383 388
384 first bad rev is 15 389 first bad rev is 15
387 $ hg bisect -r 392 $ hg bisect -r
388 $ hg bisect -g 1 393 $ hg bisect -g 1
389 $ hg bisect -b 16 # -> update to rev 6 394 $ hg bisect -b 16 # -> update to rev 6
390 Testing changeset 6:a214d5d3811a (13 changesets remaining, ~3 tests) 395 Testing changeset 6:a214d5d3811a (13 changesets remaining, ~3 tests)
391 2 files updated, 0 files merged, 2 files removed, 0 files unresolved 396 2 files updated, 0 files merged, 2 files removed, 0 files unresolved
397 $ hg log -q -r 'bisect(pruned)'
398 1:4ca5088da217
399 16:609d82a7ebae
392 $ hg bisect -g # -> update to rev 13 400 $ hg bisect -g # -> update to rev 13
393 Testing changeset 13:b0a32c86eb31 (8 changesets remaining, ~3 tests) 401 Testing changeset 13:b0a32c86eb31 (8 changesets remaining, ~3 tests)
394 3 files updated, 0 files merged, 1 files removed, 0 files unresolved 402 3 files updated, 0 files merged, 1 files removed, 0 files unresolved
395 $ hg bisect -s # -> update to rev 10 403 $ hg bisect -s # -> update to rev 10
396 Testing changeset 10:429fcd26f52d (8 changesets remaining, ~3 tests) 404 Testing changeset 10:429fcd26f52d (8 changesets remaining, ~3 tests)
397 3 files updated, 0 files merged, 1 files removed, 0 files unresolved 405 3 files updated, 0 files merged, 1 files removed, 0 files unresolved
398 $ hg bisect -s # -> update to rev 12 406 $ hg bisect -s # -> update to rev 12
399 Testing changeset 12:9f259202bbe7 (8 changesets remaining, ~3 tests) 407 Testing changeset 12:9f259202bbe7 (8 changesets remaining, ~3 tests)
400 3 files updated, 0 files merged, 1 files removed, 0 files unresolved 408 3 files updated, 0 files merged, 1 files removed, 0 files unresolved
409 $ hg log -q -r 'bisect(pruned)'
410 1:4ca5088da217
411 2:051e12f87bf1
412 3:0950834f0a9c
413 4:5c668c22234f
414 5:385a529b6670
415 6:a214d5d3811a
416 10:429fcd26f52d
417 13:b0a32c86eb31
418 16:609d82a7ebae
401 $ hg bisect -g # -> update to rev 9 419 $ hg bisect -g # -> update to rev 9
402 Testing changeset 9:3c77083deb4a (5 changesets remaining, ~2 tests) 420 Testing changeset 9:3c77083deb4a (5 changesets remaining, ~2 tests)
403 1 files updated, 0 files merged, 1 files removed, 0 files unresolved 421 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
404 $ hg bisect -s # -> update to rev 15 422 $ hg bisect -s # -> update to rev 15
405 Testing changeset 15:857b178a7cf3 (5 changesets remaining, ~2 tests) 423 Testing changeset 15:857b178a7cf3 (5 changesets remaining, ~2 tests)
443 11:82ca6f06eccd 461 11:82ca6f06eccd
444 12:9f259202bbe7 462 12:9f259202bbe7
445 13:b0a32c86eb31 463 13:b0a32c86eb31
446 15:857b178a7cf3 464 15:857b178a7cf3
447 16:609d82a7ebae 465 16:609d82a7ebae
448 $ hg log -q -r 'bisect(pruned)'
449 1:4ca5088da217
450 6:a214d5d3811a
451 9:3c77083deb4a
452 10:429fcd26f52d
453 12:9f259202bbe7
454 13:b0a32c86eb31
455 15:857b178a7cf3
456 16:609d82a7ebae
457 466
458 complex bisect test 4 467 complex bisect test 4
459 468
460 first good revision is 17 469 first good revision is 17
461 15,16 are skipped an might be the first good revisions as well 470 15,16 are skipped an might be the first good revisions as well
469 Testing changeset 10:429fcd26f52d (5 changesets remaining, ~2 tests) 478 Testing changeset 10:429fcd26f52d (5 changesets remaining, ~2 tests)
470 3 files updated, 0 files merged, 1 files removed, 0 files unresolved 479 3 files updated, 0 files merged, 1 files removed, 0 files unresolved
471 $ hg bisect -b # -> update to rev 15 480 $ hg bisect -b # -> update to rev 15
472 Testing changeset 15:857b178a7cf3 (3 changesets remaining, ~1 tests) 481 Testing changeset 15:857b178a7cf3 (3 changesets remaining, ~1 tests)
473 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 482 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
483 $ hg log -q -r 'bisect(pruned)'
484 8:dab8161ac8fc
485 9:3c77083deb4a
486 10:429fcd26f52d
487 11:82ca6f06eccd
488 12:9f259202bbe7
489 13:b0a32c86eb31
490 17:228c06deef46
474 $ hg bisect -s # -> update to rev 16 491 $ hg bisect -s # -> update to rev 16
475 Testing changeset 16:609d82a7ebae (3 changesets remaining, ~1 tests) 492 Testing changeset 16:609d82a7ebae (3 changesets remaining, ~1 tests)
476 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 493 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
494 $ hg log -q -r 'bisect(pruned)'
495 8:dab8161ac8fc
496 9:3c77083deb4a
497 10:429fcd26f52d
498 11:82ca6f06eccd
499 12:9f259202bbe7
500 13:b0a32c86eb31
501 15:857b178a7cf3
502 17:228c06deef46
477 $ hg bisect -s 503 $ hg bisect -s
478 Due to skipped revisions, the first good revision could be any of: 504 Due to skipped revisions, the first good revision could be any of:
479 changeset: 15:857b178a7cf3 505 changeset: 15:857b178a7cf3
480 parent: 13:b0a32c86eb31 506 parent: 13:b0a32c86eb31
481 parent: 10:429fcd26f52d 507 parent: 10:429fcd26f52d
503 15:857b178a7cf3 529 15:857b178a7cf3
504 16:609d82a7ebae 530 16:609d82a7ebae
505 17:228c06deef46 531 17:228c06deef46
506 $ hg log -q -r 'bisect(pruned)' 532 $ hg log -q -r 'bisect(pruned)'
507 8:dab8161ac8fc 533 8:dab8161ac8fc
508 10:429fcd26f52d 534 9:3c77083deb4a
535 10:429fcd26f52d
536 11:82ca6f06eccd
537 12:9f259202bbe7
509 13:b0a32c86eb31 538 13:b0a32c86eb31
510 15:857b178a7cf3 539 15:857b178a7cf3
511 16:609d82a7ebae 540 16:609d82a7ebae
512 17:228c06deef46 541 17:228c06deef46
513 542
518 $ hg bisect -g 14 547 $ hg bisect -g 14
519 abort: starting revisions are not directly related 548 abort: starting revisions are not directly related
520 [255] 549 [255]
521 $ hg log -q -r 'bisect(range)' 550 $ hg log -q -r 'bisect(range)'
522 $ hg log -q -r 'bisect(pruned)' 551 $ hg log -q -r 'bisect(pruned)'
552 7:50c76098bbf2
553 14:faa450606157
523 $ hg bisect --reset 554 $ hg bisect --reset
524 555
525 end at merge: 17 bad, 11 good (but 9 is first bad) 556 end at merge: 17 bad, 11 good (but 9 is first bad)
526 557
527 $ hg bisect -r 558 $ hg bisect -r
551 15:857b178a7cf3 582 15:857b178a7cf3
552 16:609d82a7ebae 583 16:609d82a7ebae
553 17:228c06deef46 584 17:228c06deef46
554 $ hg log -q -r 'bisect(pruned)' 585 $ hg log -q -r 'bisect(pruned)'
555 11:82ca6f06eccd 586 11:82ca6f06eccd
556 13:b0a32c86eb31 587 12:9f259202bbe7
557 15:857b178a7cf3 588 13:b0a32c86eb31
558 17:228c06deef46 589 15:857b178a7cf3
559 $ hg log -q -r 'bisect(untested)' 590 16:609d82a7ebae
560 12:9f259202bbe7 591 17:228c06deef46
561 16:609d82a7ebae 592 $ hg log -q -r 'bisect(untested)'
562 $ hg bisect --extend 593 $ hg bisect --extend
563 Extending search to changeset 8:dab8161ac8fc 594 Extending search to changeset 8:dab8161ac8fc
564 2 files updated, 0 files merged, 2 files removed, 0 files unresolved 595 2 files updated, 0 files merged, 2 files removed, 0 files unresolved
565 $ hg log -q -r 'bisect(untested)' 596 $ hg log -q -r 'bisect(untested)'
566 12:9f259202bbe7
567 16:609d82a7ebae
568 $ hg bisect -g # dab8161ac8fc 597 $ hg bisect -g # dab8161ac8fc
569 Testing changeset 9:3c77083deb4a (3 changesets remaining, ~1 tests) 598 Testing changeset 9:3c77083deb4a (3 changesets remaining, ~1 tests)
570 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 599 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
600 $ hg log -q -r 'bisect(untested)'
601 9:3c77083deb4a
602 10:429fcd26f52d
571 $ hg bisect -b 603 $ hg bisect -b
572 The first bad revision is: 604 The first bad revision is:
573 changeset: 9:3c77083deb4a 605 changeset: 9:3c77083deb4a
574 user: test 606 user: test
575 date: Thu Jan 01 00:00:09 1970 +0000 607 date: Thu Jan 01 00:00:09 1970 +0000
586 16:609d82a7ebae 618 16:609d82a7ebae
587 17:228c06deef46 619 17:228c06deef46
588 $ hg log -q -r 'bisect(pruned)' 620 $ hg log -q -r 'bisect(pruned)'
589 8:dab8161ac8fc 621 8:dab8161ac8fc
590 9:3c77083deb4a 622 9:3c77083deb4a
591 11:82ca6f06eccd 623 10:429fcd26f52d
592 13:b0a32c86eb31 624 11:82ca6f06eccd
593 15:857b178a7cf3 625 12:9f259202bbe7
594 17:228c06deef46 626 13:b0a32c86eb31
595 $ hg log -q -r 'bisect(untested)' 627 15:857b178a7cf3
596 10:429fcd26f52d 628 16:609d82a7ebae
597 12:9f259202bbe7 629 17:228c06deef46
598 16:609d82a7ebae 630 $ hg log -q -r 'bisect(untested)'
599 631
600 user adds irrelevant but consistent information (here: -g 2) to bisect state 632 user adds irrelevant but consistent information (here: -g 2) to bisect state
601 633
602 $ hg bisect -r 634 $ hg bisect -r
603 $ hg bisect -b 13 635 $ hg bisect -b 13
625 8:dab8161ac8fc 657 8:dab8161ac8fc
626 11:82ca6f06eccd 658 11:82ca6f06eccd
627 12:9f259202bbe7 659 12:9f259202bbe7
628 13:b0a32c86eb31 660 13:b0a32c86eb31
629 $ hg log -q -r 'bisect(pruned)' 661 $ hg log -q -r 'bisect(pruned)'
630 8:dab8161ac8fc 662 2:051e12f87bf1
631 11:82ca6f06eccd 663 8:dab8161ac8fc
632 13:b0a32c86eb31 664 11:82ca6f06eccd
633 $ hg log -q -r 'bisect(untested)' 665 12:9f259202bbe7
634 12:9f259202bbe7 666 13:b0a32c86eb31
667 $ hg log -q -r 'bisect(untested)'