stablesort: add a new test to check for fully independant branches
authorPierre-Yves David <pierre-yves.david@octobus.net>
Sun, 26 Nov 2017 11:58:35 -0500
changeset 3257 064738ae1588
parent 3256 c82a2632327e
child 3258 af1f8f0687e1
stablesort: add a new test to check for fully independant branches Apparently, this was not covered.
tests/test-stablesort-branchpoint.t
tests/test-stablesort.t
--- a/tests/test-stablesort-branchpoint.t	Sat Nov 25 17:37:37 2017 -0500
+++ b/tests/test-stablesort-branchpoint.t	Sun Nov 26 11:58:35 2017 -0500
@@ -750,3 +750,117 @@
   0dedbcd995b6
   ed776db7ed63
   7f2454f6b04f
+
+Merge two branches with their own independant internal merge.
+-------------------------------------------------------------
+
+  $ hg init subbranch
+  $ cd subbranch
+  $ hg debugbuilddag '
+  > .:base
+  > +3:leftBranch
+  > +2:leftA
+  > <leftBranch.+2:leftB
+  > /leftA:leftMerge
+  > <base+2:rightBranch
+  > +4:rightA
+  > <rightBranch.+1:rightB
+  > /rightA:rightMerge
+  > +3/leftMerge
+  > '
+  $ hg log -G
+  o    22 56526aefbff4 r22 tip
+  |\
+  | o  21 d4422659bc40 r21
+  | |
+  | o  20 6a97ef856f90 r20
+  | |
+  | o  19 5648bbf0e38b r19
+  | |
+  | o    18 4442c125b80d r18 rightMerge
+  | |\
+  | | o  17 65e683dd6db4 r17 rightB
+  | | |
+  | | o  16 5188cf52b7b7 r16
+  | | |
+  | o |  15 191bac7bf37c r15 rightA
+  | | |
+  | o |  14 5cb8e6902ff3 r14
+  | | |
+  | o |  13 448a7ac3ab1f r13
+  | | |
+  | o |  12 ee222cc71ce6 r12
+  | |/
+  | o  11 e5c0d969abc4 r11 rightBranch
+  | |
+  | o  10 7cc044fdf4a7 r10
+  | |
+  o |    9 9f6c364a3574 r9 leftMerge
+  |\ \
+  | o |  8 588f0bc87ecd r8 leftB
+  | | |
+  | o |  7 e2317cea05f7 r7
+  | | |
+  | o |  6 c2c595bcd4c6 r6
+  | | |
+  o | |  5 c8d03c1b5e94 r5 leftA
+  | | |
+  o | |  4 bebd167eb94d r4
+  |/ /
+  o |  3 2dc09a01254d r3 leftBranch
+  | |
+  o |  2 01241442b3c2 r2
+  | |
+  o |  1 66f7d451a68b r1
+  |/
+  o  0 1ea73414a91b r0 base
+  
+  $ hg debugdepth -r 'all()'
+  1ea73414a91b 1
+  66f7d451a68b 2
+  01241442b3c2 3
+  2dc09a01254d 4
+  bebd167eb94d 5
+  c8d03c1b5e94 6
+  c2c595bcd4c6 5
+  e2317cea05f7 6
+  588f0bc87ecd 7
+  9f6c364a3574 10
+  7cc044fdf4a7 2
+  e5c0d969abc4 3
+  ee222cc71ce6 4
+  448a7ac3ab1f 5
+  5cb8e6902ff3 6
+  191bac7bf37c 7
+  5188cf52b7b7 4
+  65e683dd6db4 5
+  4442c125b80d 10
+  5648bbf0e38b 11
+  6a97ef856f90 12
+  d4422659bc40 13
+  56526aefbff4 23
+  $ hg showsort --rev 'tip'
+  1ea73414a91b
+  66f7d451a68b
+  01241442b3c2
+  2dc09a01254d
+  bebd167eb94d
+  c8d03c1b5e94
+  c2c595bcd4c6
+  e2317cea05f7
+  588f0bc87ecd
+  9f6c364a3574
+  7cc044fdf4a7
+  e5c0d969abc4
+  5188cf52b7b7
+  65e683dd6db4
+  ee222cc71ce6
+  448a7ac3ab1f
+  5cb8e6902ff3
+  191bac7bf37c
+  4442c125b80d
+  5648bbf0e38b
+  6a97ef856f90
+  d4422659bc40
+  56526aefbff4
+  $ cd ..
--- a/tests/test-stablesort.t	Sat Nov 25 17:37:37 2017 -0500
+++ b/tests/test-stablesort.t	Sun Nov 26 11:58:35 2017 -0500
@@ -951,3 +951,168 @@
   0dedbcd995b6
   ed776db7ed63
   7f2454f6b04f
+
+  $ cd ..
+
+Merge two branches with their own independant internal merge.
+-------------------------------------------------------------
+
+  $ hg init subbranch
+  $ cd subbranch
+  $ hg debugbuilddag '
+  > .:base
+  > +3:leftBranch
+  > +2:leftA
+  > <leftBranch.+2:leftB
+  > /leftA:leftMerge
+  > <base+2:rightBranch
+  > +4:rightA
+  > <rightBranch.+1:rightB
+  > /rightA:rightMerge
+  > +3/leftMerge
+  > '
+  $ hg log -G
+  o    22 56526aefbff4 r22 tip
+  |\
+  | o  21 d4422659bc40 r21
+  | |
+  | o  20 6a97ef856f90 r20
+  | |
+  | o  19 5648bbf0e38b r19
+  | |
+  | o    18 4442c125b80d r18 rightMerge
+  | |\
+  | | o  17 65e683dd6db4 r17 rightB
+  | | |
+  | | o  16 5188cf52b7b7 r16
+  | | |
+  | o |  15 191bac7bf37c r15 rightA
+  | | |
+  | o |  14 5cb8e6902ff3 r14
+  | | |
+  | o |  13 448a7ac3ab1f r13
+  | | |
+  | o |  12 ee222cc71ce6 r12
+  | |/
+  | o  11 e5c0d969abc4 r11 rightBranch
+  | |
+  | o  10 7cc044fdf4a7 r10
+  | |
+  o |    9 9f6c364a3574 r9 leftMerge
+  |\ \
+  | o |  8 588f0bc87ecd r8 leftB
+  | | |
+  | o |  7 e2317cea05f7 r7
+  | | |
+  | o |  6 c2c595bcd4c6 r6
+  | | |
+  o | |  5 c8d03c1b5e94 r5 leftA
+  | | |
+  o | |  4 bebd167eb94d r4
+  |/ /
+  o |  3 2dc09a01254d r3 leftBranch
+  | |
+  o |  2 01241442b3c2 r2
+  | |
+  o |  1 66f7d451a68b r1
+  |/
+  o  0 1ea73414a91b r0 base
+  
+  $ hg debugdepth -r 'all()'
+  1ea73414a91b 1
+  66f7d451a68b 2
+  01241442b3c2 3
+  2dc09a01254d 4
+  bebd167eb94d 5
+  c8d03c1b5e94 6
+  c2c595bcd4c6 5
+  e2317cea05f7 6
+  588f0bc87ecd 7
+  9f6c364a3574 10
+  7cc044fdf4a7 2
+  e5c0d969abc4 3
+  ee222cc71ce6 4
+  448a7ac3ab1f 5
+  5cb8e6902ff3 6
+  191bac7bf37c 7
+  5188cf52b7b7 4
+  65e683dd6db4 5
+  4442c125b80d 10
+  5648bbf0e38b 11
+  6a97ef856f90 12
+  d4422659bc40 13
+  56526aefbff4 23
+  $ hg showsort --rev 'tip'
+  1ea73414a91b
+  66f7d451a68b
+  01241442b3c2
+  2dc09a01254d
+  c2c595bcd4c6
+  e2317cea05f7
+  588f0bc87ecd
+  bebd167eb94d
+  c8d03c1b5e94
+  9f6c364a3574
+  7cc044fdf4a7
+  e5c0d969abc4
+  ee222cc71ce6
+  448a7ac3ab1f
+  5cb8e6902ff3
+  191bac7bf37c
+  5188cf52b7b7
+  65e683dd6db4
+  4442c125b80d
+  5648bbf0e38b
+  6a97ef856f90
+  d4422659bc40
+  56526aefbff4
+  $ hg showsorthead --rev 'tip'
+  1ea73414a91b
+  66f7d451a68b
+  01241442b3c2
+  2dc09a01254d
+  c2c595bcd4c6
+  e2317cea05f7
+  588f0bc87ecd
+  bebd167eb94d
+  c8d03c1b5e94
+  9f6c364a3574
+  7cc044fdf4a7
+  e5c0d969abc4
+  ee222cc71ce6
+  448a7ac3ab1f
+  5cb8e6902ff3
+  191bac7bf37c
+  5188cf52b7b7
+  65e683dd6db4
+  4442c125b80d
+  5648bbf0e38b
+  6a97ef856f90
+  d4422659bc40
+  56526aefbff4
+  $ hg showsorthead --rev 'tip' --limit 12
+  e5c0d969abc4
+  ee222cc71ce6
+  448a7ac3ab1f
+  5cb8e6902ff3
+  191bac7bf37c
+  5188cf52b7b7
+  65e683dd6db4
+  4442c125b80d
+  5648bbf0e38b
+  6a97ef856f90
+  d4422659bc40
+  56526aefbff4
+  $ hg showsorthead --rev 'tip' --limit 7
+  5188cf52b7b7
+  65e683dd6db4
+  4442c125b80d
+  5648bbf0e38b
+  6a97ef856f90
+  d4422659bc40
+  56526aefbff4
+  $ hg showsorthead --rev 'tip' --limit 3
+  6a97ef856f90
+  d4422659bc40
+  56526aefbff4
+  $ cd ..