# HG changeset patch # User Matt Mackall # Date 1199146834 21600 # Node ID 51776e50bc8c05de42a04208ccd91e7326ede6c8 # Parent 35ec669cdd43e807a5420e2d0f6f04620c005789 bisect: improve tests - test skipping - test noupdate - test bad->good search - test inconsistent state diff -r 35ec669cdd43 -r 51776e50bc8c mercurial/hbisect.py --- a/mercurial/hbisect.py Mon Dec 31 18:20:34 2007 -0600 +++ b/mercurial/hbisect.py Mon Dec 31 18:20:34 2007 -0600 @@ -30,7 +30,7 @@ ancestors[prev] = None if ancestors[badrev] is None: - return None, None + return badrev, None return badrev, ancestors good = 0 @@ -38,10 +38,10 @@ if not ancestors: # looking for bad to good transition? good = 1 badrev, ancestors = buildancestors(state['good'], state['bad']) + bad = changelog.node(badrev) if not ancestors: # now we're confused raise util.Abort(_("Inconsistent state, %s:%s is good and bad") % (badrev, hg.short(bad))) - bad = changelog.node(badrev) # build children dict children = {} diff -r 35ec669cdd43 -r 51776e50bc8c tests/test-bisect --- a/tests/test-bisect Mon Dec 31 18:20:34 2007 -0600 +++ b/tests/test-bisect Mon Dec 31 18:20:34 2007 -0600 @@ -27,6 +27,8 @@ hg bisect -b hg bisect -g 1 hg bisect -g +echo skip +hg bisect -s hg bisect -g hg bisect -g hg bisect -b @@ -37,7 +39,18 @@ hg bisect -b null hg bisect -g tip hg bisect -g +echo skip +hg bisect -s hg bisect -g hg bisect -g hg bisect -b hg bisect -g + +hg bisect -r +hg bisect -g tip +hg bisect -b tip || echo error + +hg bisect -r +hg bisect -g null +hg bisect -bU tip +hg id \ No newline at end of file diff -r 35ec669cdd43 -r 51776e50bc8c tests/test-bisect.out --- a/tests/test-bisect.out Mon Dec 31 18:20:34 2007 -0600 +++ b/tests/test-bisect.out Mon Dec 31 18:20:34 2007 -0600 @@ -202,7 +202,10 @@ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved Testing changeset 23:5ec79163bff4 (15 changesets remaining, ~3 tests) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved -Testing changeset 27:288867a866e9 (8 changesets remaining, ~3 tests) +skip +Testing changeset 24:10e0acd3809e (15 changesets remaining, ~3 tests) +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +Testing changeset 27:288867a866e9 (7 changesets remaining, ~2 tests) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved Testing changeset 29:b5bd63375ab9 (4 changesets remaining, ~2 tests) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved @@ -219,15 +222,22 @@ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved Testing changeset 7:03750880c6b5 (16 changesets remaining, ~4 tests) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved -Testing changeset 3:b53bea5e2fcb (8 changesets remaining, ~3 tests) +skip +Testing changeset 6:a3d5c6fdf0d3 (16 changesets remaining, ~4 tests) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved -Testing changeset 1:5cd978ea5149 (4 changesets remaining, ~2 tests) +Testing changeset 2:db07c04beaca (7 changesets remaining, ~2 tests) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved -Testing changeset 2:db07c04beaca (2 changesets remaining, ~1 tests) +Testing changeset 0:b99c7b9c8e11 (3 changesets remaining, ~1 tests) +1 files updated, 0 files merged, 0 files removed, 0 files unresolved +Testing changeset 1:5cd978ea5149 (2 changesets remaining, ~1 tests) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved The first good revision is: -changeset: 2:db07c04beaca +changeset: 1:5cd978ea5149 user: test -date: Thu Jan 01 00:00:02 1970 +0000 -summary: msg 2 +date: Thu Jan 01 00:00:01 1970 +0000 +summary: msg 1 +abort: Inconsistent state, 31:58c80a7c8a40 is good and bad +error +Testing changeset 15:e7fa0811edb0 (32 changesets remaining, ~5 tests) +5cd978ea5149